中易网

哪个是匿名对象

答案:1  悬赏:40  
解决时间 2021-04-28 06:43
  • 提问者网友:涼初透
  • 2021-04-27 06:37
#include <iostream.h>
class B
{
public:
int a;
//写2个构造函数,是为了防止构造对象的时候出问题
B(){}; //为什么要写俩构造函数啊?
B(int m)
{
a=m;
}
~B()
{
cout < < "a= " < <a < <endl;
cout < < "disconstructing B " < <endl;
}
};

void main(void)
{
B a; //这里调用的是B()函数;
a=B(2); //这里调用的是B(int m)函数
cout < < "program end " < <endl;
}
a=B(2);
void main(void)
{
B a=B(2);
cout < < "program end " < <endl;
}
最佳答案
  • 二级知识专家网友:狙击你的心
  • 2021-04-27 07:24
你问匿名对象?在

void main(void)
{
B a=B(2);
cout < < "program end " < <endl;
}
的里面
B(2)里面系统就自动创建了一个匿名对象,
可以这样理解B b(2),b就是匿名对象
a=b(2);
这里调用了拷贝构造函数,这里你可以理解为将b中的数据成员拷贝给a;
即a对象和b对象的数据成员a都=2;
故最后输出结果相同。
总结:B(2),这里用到了匿名对象
不懂可以再问我!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息