c++给一个对象赋值是怎么回事

#include<iostream>usingnamespacestd;classA{public:A(intn=10):num(n){cout<<"A"<<endl;}... #include<iostream>
using namespace std;

class A{
public:
A(int n=10):num(n)
{ cout<<"A"<<endl; }
private:
int num;
};
class B{
public:
B(int m,int n):bn(m),a(n) //这里的构造函数从main传过来的6赋给了a,
//而a是类A的一个对象,那怎么可以赋值呢
{ cout<<"B"<<endl; }
private:
int bn;
A a;
};
int main()
{
A a1;
B b1(2,6);
}
这样给这对象赋值会有什么后果、有什么意义吗,导致哪些值发生变化,会影响到类A中的变量吗
展开
 我来答
JamesHuang_i
2014-03-28 · 超过15用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:39.6万
展开全部
调用A的构造函数,如果没带参数,则参数默认为10 。 A(int n=10):num(n)
追问
类A的构造函数不是在对象a创建的时候便立刻调用吗,是因为对象a的创建在private中的原因吗,需要一个媒介,如果没有这个媒介,就没有意义 了,是这样吗
追答
呵呵,类B定义中 “A a;" 这只是声明了对像,并没有创建对像,跟private什么的没有关系,真正创建对像a是在调用B的构造函数时,明白?
LYB661
2014-03-28 · TA获得超过314个赞
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:79万
展开全部
B构造函数:B(int m,int n):bn(m),a(n),A(){cout<<"B"<<endl;} !!! 可以赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
去吻你倔强的嘴
2014-03-27 · TA获得超过602个赞
知道小有建树答主
回答量:480
采纳率:0%
帮助的人:241万
展开全部
类A的一个对象a 作为B的私有成员,所以可以赋值啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巨润利020
2014-03-27 · TA获得超过171个赞
知道小有建树答主
回答量:307
采纳率:100%
帮助的人:270万
展开全部
调用A的构造函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式