从其他类中获取数组

时间:2013-08-24 03:36:17

标签: c++ arrays function class call

我正在研究Ludum Dare项目,我无法弄清楚如何在另一个类中使用数组来使用tileheet。将数组存储在另一个类中然后在main.cpp文件中使用它的最佳方法是什么?

2 个答案:

答案 0 :(得分: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;
    }
}

答案 1 :(得分:0)

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