一共 有6个成员函数。
1.构造函数
2.拷贝构造函数
3.析构函数
4.赋值运算符
5.取址运算符
6.取值运算符const
1 #include<iostream> 2 using namespace std; 3 4 class Empty 5 { 6 Empty(); //构造函数 7 Empty(Empty&); //拷贝构造函数 8 ~Empty(); //析构函数 9 10 Empty& operator=(Empty&); //赋值运算符 11 Empty* operator&(); //取址运算符 12 const Empty* operator&()const; //取址运算符const 13 14 };
注意的是:只有当实际使用这些函数的时候,编译器才会去定义(实现)他们。
拷贝构造函数和赋值运算符重载有什么不同之处?
(1)拷贝构造函数生成新的类对象,而赋值运算符不能。
(2)由于拷贝构造函数是直接构造一个新的对象,所以在初始化这个对象之前不用检验源对象是否和新对象相同,而辅助运算符则要要检验源对象和新对象是否相同,另外赋值运算中如果原来的对象中有内存分配要先把内存释放掉。
标签:const,哪些,C++,运算符,空类,拷贝,赋值,Empty,构造函数 From: https://www.cnblogs.com/py369/p/17660665.html