Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从其他类获取数组_C++_Arrays_Function_Class_Call - Fatal编程技术网

C++ 从其他类获取数组

C++ 从其他类获取数组,c++,arrays,function,class,call,C++,Arrays,Function,Class,Call,我正在做一个Ludum Dare项目,我不知道如何在另一个类中使用数组来使用tilesheet。在另一个类中存储数组,然后在main.cpp文件中使用它的最佳方法是什么?在类中声明数据结构,创建对象并访问它!您可能还想了解更多关于通过引用传递函数的信息…一种方法是使用STL vector类作为数组。在下面的示例中,nNumbers向量的类型为int,通过ClassB使用的公共get访问器方法进行复制 // ClassA.h #include <vector> class Class

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

在类中声明数据结构,创建对象并访问它!您可能还想了解更多关于通过引用传递函数的信息…

一种方法是使用STL vector类作为数组。在下面的示例中,
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;
    }
}
//ClassA.h
#包括
甲级
{
公众:
类别a();
std::vector getNumbers();
私人:
std::向量数;
};
//ClassA.cpp
#包括“stdafx.h”
#包括“ClassA.h”
ClassA::ClassA()
{
对于(int i=0;i<5;i++)
{
mNumbers.推回(i);
}
}
std::vector ClassA::getNumbers()
{
返回mNumbers;
}
//类别b.cpp
#包括“stdafx.h”
#包括“B.h类”
#包括“ClassA.h”
#包括
#包括
void ClassB::runOutput()
{
甲级;
std::vector someNumbers=A.getNumbers();
for(无符号整数i=0;istd::您有我可以用于通过引用传递的示例代码吗?void setData(myDataType&x)