【发布时间】:2013-08-27 04:53:19
【问题描述】:
我正在处理 Ludum Dare 项目,但我不知道如何在另一个类中使用数组来使用 tilesheet。将数组存储在另一个类中然后在 main.cpp 文件中使用它的最佳方法是什么?
【问题讨论】:
标签: c++ arrays function class call
我正在处理 Ludum Dare 项目,但我不知道如何在另一个类中使用数组来使用 tilesheet。将数组存储在另一个类中然后在 main.cpp 文件中使用它的最佳方法是什么?
【问题讨论】:
标签: c++ arrays function class call
一种方法是使用 STL 向量类作为数组。在下面的示例中,nNumbers 向量的类型为 int,并且通过 ClassB 使用的公共 get 访问器方法进行复制。
// ClassA.h
#include <vector>
class ClassA
{
public:
ClassA();
std::vector<int> getNumbers();
private:
std::vector<int> mNumbers;
};
// ClassA.cpp
#include "stdafx.h"
#include "ClassA.h"
ClassA::ClassA()
{
for(int i = 0; i < 5; i++)
{
mNumbers.push_back(i);
}
}
std::vector<int> ClassA::getNumbers()
{
return mNumbers;
}
// ClassB.cpp
#include "stdafx.h"
#include "ClassB.h"
#include "ClassA.h"
#include <vector>
#include <iostream>
void ClassB::runOutput()
{
ClassA A;
std::vector<int> someNumbers = A.getNumbers();
for(unsigned int i = 0; i < someNumbers.size(); i++)
{
std::cout << "i = " << i << std::endl;
}
}
【讨论】:
在类中声明数据结构,创建对象并访问它!您可能还想阅读有关通过引用传递函数的更多信息...
【讨论】: