#include
using namespace std;
class Test
{
public:
Test();
~Test();
Test(const Test& t);
Test& operator=(const Test& t);
private:
int t1;
};
Test::Test()
{
cout<<"调用构造函数"<}
Test::~Test()
{
cout<<"调用析构函数"<}
Test::Test(const Test& t)
{
cout<<"调用拷贝构造函数"<}
Test& Test::operator =(const Test& t)
{
cout<<"调用赋值构造函数"< t1 = t.t1;
return *this;
}
void main()
{
Test t1;
Test t2 = t1;
Test t3;
t3 = t1;
system("pause");
}
输出如下:
调用构造函数
调用拷贝构造函数
调用构造函数
调用赋值构造函数
拷贝构造函数用于将一个对象复制到新创建的对象中。也就是说,它用于初始化过程中,而不是常规的赋值过程中。
赋值构造函数用于将一个对象赋值给另一个已有对象。
感觉C++的拷贝构造函数和赋值构造函数差别不大啊。不知道还有没有其他差别。
阅读(455) | 评论(0) | 转发(0) |