这个x是哪来的
问题在红色注释中!!!!!!!!!!! 谢谢#include <iostream>
using namespace std;
class A
{
public:
A(int i){cout<<"执行构造函数创建一个对象\n";x=i;}
A(A&a){x=a.x ;
/* 这个x是哪来的,如果是 “private: int x;”中的 x,干嘛要把x赋给x,这不是很无聊???
*/
cout<<"执行复制构造函数创建一个对象\n";}
~A(){cout<<"执行析构函数!\n";}
int get(){return x;}
private:
int x;
};
A func()
{
cout<<"跳转到func函数中!\n";
A *p=new A(99);
cout<<"堆中对象的地址:"<<p<<endl;
return *p;
}
int main()
{
A&r=func();
cout<<"堆中对象的副本的地址:"<<&r<<endl;
cout<<r.get()<<endl;
A*p=&r;
delete p;
return 0;
}
[ 本帖最后由 疯子傻了 于 2012-12-11 15:25 编辑 ]