Mig*_*l P 5 c++ nested class parent
标题已经说了很多,
但基本上我想做的是以下(示例):
我有一个名为A的类,另一个名为B的类,如下所示:
class A
{
int a;
class B
{
void test()
{
a = 20;
}
};
};
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我的目标是让B类可以访问A类,因为它是一个嵌套类.不是这个不会工作,因为B无法访问A,但它如何才能访问?
谢谢
Phi*_*lip 10
尽管您在A中声明了B类,但A类和B类仍然是完全独立的.唯一的区别是,现在要引用B,必须做A :: B.
要让B访问A的东西,你应该使用组合或继承.对于合成,给B引用A的对象,如下所示:
class B {
public:
B(const A& aObj) : aRef(aObj) {
cout << aRef.a << endl;
}
private:
const A& aRef;
};
Run Code Online (Sandbox Code Playgroud)
对于继承,这样的事情:
class B: public A { // or private, depending on your desires
B() {
cout << a << endl;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8213 次 |
最近记录: |