悬赏分:20 浏览:195 次
类B的实例b是类A的成员,那么在类B中如何引用类A的成员N?
class A
{
B b=new B();
int N;
}
class B
{
…… //如何编写代码来引用类A的成员N?
}
因为无法在类B内创建类A的实例a,所以无法通过a.N来引用类A的成员N。
那有什么办法吗?
|
按你上面所说的.
是可以在类B中创建A的实例a.如果你要访问类A中的N请将N的访问类型设置为public
它默认是private类型的,所以不可以访问,在B中要访问a.N请在一个方法体,或者是属性中访问.不能在类的成员中访问,
希望能理解我所说的意思. 楼上正解。 请看以下代码: [code] public class A { B _b; public A(){ _b = new B(this); } } public class B { private A _a; public B(A a){ this._a = a; } public void Method1(){ //这里就可以用_a引用A中的共有属性了 } } [/code] 回调技术 A将自己的句柄、指针传给B。一般使用这种,也就是楼上说的。 代理技术 A将自己注册在第三者C上,B通过访问C获得A。MFC的界面框架就是这样的。 实现方式很多。。主要的就是借助第三方或者在B建立方法,A发送消息给B获取A的N值,或者将类A自己直接当作参数传给B初始化,方法N多 就室不知道你的这个题目有没有什么限制了 |
|
1个月前 I'm ABC : 可以继承吗? |