c++ - 在 C++ 中,如何从 B 类访问 Class 中的多维数组?

标签 c++ arrays oop

“A类.h”

class ClassA {
public:
classArray[10][5];

void loadArray(){
//loads ints into array
}
};

“B类.h”

class classB {
void outputArray(){
ClassA classA;
cout << classA.classArray[1][1];
}

};

每当我打印数组[1][1]时,它都会向控制台输出0。尽管已经加载了7020。总的来说,这两个函数都会被调用。

最佳答案

当你这样做时:

ClassA classA;
cout << classA.classArray[1][1];

您调用未定义行为 (UB),因为classA 的数组是未初始化使用的。首先,将整数加载到其中,然后打印它,因此您可能需要这样做:

ClassA classA;                       // create an object
classA.loadArray();                  // fill the array of the object
cout << classA.classArray[1][1];     // print a specific element

关于c++ - 在 C++ 中,如何从 B 类访问 Class 中的多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52905057/

相关文章:

c++ - GetProcessImageFileName 和 LPTSTR

c++ - 在 switch 语句中初始化变量 (int32)

c++ - 是否需要为每个模板函数声明模板<typename T>?

c++ - 如何创建动态分配的 const 对象数组,但已为其分配值?

java - 传递将两个接口(interface)实现为两个不同子类型的类的实例

c# - 为什么要封装这个字段?

c++ - 如何在 main() C++ 中调用构造函数?

C++ : constructor initialization list for an array?

javascript - 再次连接分割后的字符串,跳过分割形成的数组的一个索引

python - 具有属性构建的不可变类