首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

那位大神帮小弟我看看这个程序运行过程中总共产生了几个对象

2012-09-29 
那位大神帮我看看这个程序运行过程中总共产生了几个对象[codeC/C++][/code]class A{int ipublic:A() { i

那位大神帮我看看这个程序运行过程中总共产生了几个对象
[code=C/C++][/code]
class A
{
int i;
public:
A() { i = 0; cout << "构造创建一个对象" << endl;}
A(A &x) { i = x.i; cout << "拷贝构造一个函数" << endl;}
};

A fun(A x)
{
return x;
}

void main()
{
A a;
A a1 = fun(a);
}

总共不是应该有四个么?分别是用默认构造函数初始化的a、拷贝构造函数初始化的a1、调用函数fun时拷贝构造函数初始化的x、fun返回时调用拷贝构造函数用x对其初始化的的一个临时对象。如果有四个为输出到屏幕的只显示了三个。求解惑啊!


[解决办法]
有一个名词叫“优化”
别死折腾这个问题。
构造函数和析构函数的数量是一样的就可以了

热点排行