我正在尝试访问在嵌套类中声明的变量,但无法在控制台上获得所需的答案。我想要的结果是100,但是我得到的只是一个长数字。我似乎找不到错误。这是我写的:
#include <iostream>
using namespace std;
class shpia {
public:
int tot;
class dhoma1 {
public:
int gjatesi;
int di() {
return gjatesi * gjatesi;
}
};
dhoma1 dh1;
void redi(){
cout<<dh1.di();
}
};
int main()
{
shpia::dhoma1 k;
k.gjatesi = 10;
shpia r;
r.redi();
return 0;
}
最佳答案
您的结果不足为奇。你好像在想
shpia::dhoma1 k;
k.gjatesi=10;
将为要创建的所有
dhoma1
对象定义一个shpia
。错了您只是定义了一个与shpia::dhoma1
对象无关的shpia
对象。然后定义
shpia r;
这将在
r
中创建与未初始化的第一个dhoma1
无关的另一个。因此,当您打印正方形时,您将变得毫无意义。关于c++ - 在嵌套类中访问变量的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47364850/