![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
vc++ 在一个类中怎么调用另一个类的变量
展开全部
有几个前提条件:
1.被引用的变量所在类必须被完整地定义,而不是只有前向声明(例如只是一行class A;);
2.被引用的变量必须是引用处可访问的。也就是说,以下条件至少满足其中之一:
2.1.访问变量的语句所在的类被声明为被访问的变量所在类的友元类;
2.2.访问变量的语句所在的函数被声明为被访问变量所在类的友元函数;
2.3.被访问变量被public修饰,且访问变量的语句所在的类不是被访问变量所在的类的private继承派生类;
2.4.被访问变量被protected修饰,且访问变量的语句所在的类是被访问变量所在的类的public继承派生类;
2.5.访问变量的语句所在的类定义在被访问变量所在的类的内部。
现在假设满足以上前提条件的B类的某个成员函数或成员初始化的语句要引用A类的成员m,那么
1.当m是A类的静态成员时,可以通过A::m引用;
2.当m是A类的非静态成员,且对象a是类A的实例时,可以通过a.m引用。
参考资料:原创
1.被引用的变量所在类必须被完整地定义,而不是只有前向声明(例如只是一行class A;);
2.被引用的变量必须是引用处可访问的。也就是说,以下条件至少满足其中之一:
2.1.访问变量的语句所在的类被声明为被访问的变量所在类的友元类;
2.2.访问变量的语句所在的函数被声明为被访问变量所在类的友元函数;
2.3.被访问变量被public修饰,且访问变量的语句所在的类不是被访问变量所在的类的private继承派生类;
2.4.被访问变量被protected修饰,且访问变量的语句所在的类是被访问变量所在的类的public继承派生类;
2.5.访问变量的语句所在的类定义在被访问变量所在的类的内部。
现在假设满足以上前提条件的B类的某个成员函数或成员初始化的语句要引用A类的成员m,那么
1.当m是A类的静态成员时,可以通过A::m引用;
2.当m是A类的非静态成员,且对象a是类A的实例时,可以通过a.m引用。
参考资料:原创
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询