#include <iostream>
using namespace std;
class A
{
private:
struct B
{
int a;
};
public:
B m;
};
int main()
{
A s;
s.m.a = 10;
cout << s.m.a << endl;
}
輸出
10
說(shuō)明:雖然B是private,但由于m是類成員,可以訪問(wèn)private,所以s.m.a是OK的
int main()
{
A::B t;
t.a = 5;
cout << t.a << endl;
}
編譯不通過(guò)
error: ‘struct A::B’ is private
說(shuō)明:因?yàn)锽是private,所以外部不能直接訪問(wèn)B,所以需要將B改為public,即可