C++两个类间成员变量的引用

两个问题:一、我有两个对话框和两个对应的类,假设为A,B,在A类下我定义了一些成员变量a,b,c等。现在我想在B中引用这些成员变量,要怎么做?二、两个类之间成员变量的引用... 两个问题:
一、我有两个对话框和两个对应的类,假设为A,B,在A类下我定义了一些成员变量a,b,c等。现在我想在B中引用这些成员变量,要怎么做?
二、两个类之间成员变量的引用是说我在A类中给abc赋值,然后在B中使用;还是可以只在A下定义abc然后在B中引用的时候给其赋值;又或者以上都可以实现。

其实我最主要的想要的就是在A类中定义成员变量,然后在B类中为其赋值这个功能~~又不想用指针做,所以就考虑引用了!
展开
 我来答
dongdongzoo9
推荐于2017-09-30 · TA获得超过152个赞
知道答主
回答量:42
采纳率:0%
帮助的人:62.3万
展开全部
在定义A类时,把成员变量设置为公有(public),否则A的私有变量是不可以在其他类或函数中使用的,当设置成公有后,A.a,A.b,A.c就可以在B中引用,这种方法在B中可以改变a,b,c的值。或给A设Geta(){return a;}的成员函数,在B中调用A.Geta();但是这种方法,不能改变a,b,c。
百度网友866c77a
2016-01-02 · TA获得超过6951个赞
知道小有建树答主
回答量:215
采纳率:0%
帮助的人:124万
展开全部

谁说不可以?类的成员引用有两种方法:继承和友元函数

第一种:继承。比如:

class A{
public:
A():a(1),b(1),c(1){};
public:
int a,b,c;
}
class B:public A//B继承A
{
public:
void input(class &A)
{
a1 = A.a;
b1 = A.b;
c1 = A.c;
}
public:
int a1;
int b1;
int c1;
}

第二种方法:友元函数,比如:

class A{
public :
A():a(1){};
public :
int a;
friend class B
}
class B
{
public :
void input()
{
a1 = A.a;
b1 = A.b;
c1 = A.c;
}
public :
int a1;
int b1;
int c1;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
军军106
2011-03-01 · TA获得超过453个赞
知道小有建树答主
回答量:1747
采纳率:0%
帮助的人:765万
展开全部
法一:将A中a,b,c设成公有型;
法二:将A中a,b,c设成私有型,通过调用A的公有成员函数A::SetData()改变a,b,c的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
破碎_紫枫
2015-12-12 · 超过57用户采纳过TA的回答
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:102万
展开全部
友元,或者通过接口访问,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式