0

我正在处理 Ludum Dare 项目,但我不知道如何在另一个类中使用数组来使用 tilesheet。将数组存储在另一个类中然后在 main.cpp 文件中使用它的最佳方法是什么?

4

2 回答 2

1

一种方法是使用 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;
    }
}
于 2013-08-24T04:09:14.887 回答
0

在类中声明数据结构,创建一个对象并访问它!您可能还想阅读有关通过引用传递函数的更多信息......

于 2013-08-24T03:39:25.910 回答