我正在做一个 Ludum Dare 项目,但我不知道如何在另一个类中使用数组来使用 tilesheet。将数组存储在另一个类中然后在 main.cpp 文件中使用它的最佳方法是什么?
最佳答案
执行此操作的一种方法是使用 STL vector 类作为数组。在下面的示例中,nNumbers
vector 的类型为 int
,并且通过 ClassB 使用的公共(public)获取访问器方法进行了复制。
// 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;
}
}
关于c++ - 从其他类获取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18414665/