注意:有些书上只是简单的介绍了前四个函数(宝典4th p112)。没有提及后面这两个函数。但后面这两个函数也是空类的默认函数(Ref:《effective c++》)。另外需要注意的是,只有当实际使用这些函数的时候,编译器才会去定义它们。
//C++ 空类默认产生的类成员函数://缺省构造函数,拷贝构造函数,析构函数,赋值运算符,取址运算符,取址运算符 const#include<iostream>using namespace std;class class1{public:class1(){}//缺省构造函数class1(const class1&){}//拷贝构造函数~class1(){}//析构函数class1&operator=(const class1&){}//赋值运算符class1*operator&(){}//取址运算符const class1*operator&()const{}//取址运算符 const};//空类class2会产生class1一样的成员函数class class2{};void main(){class2 obj1;//缺省构造函数class2 obj2;obj1=obj2;//赋值运算符&obj2;//取址运算符class2 obj3(obj1);//拷贝构造函数class2 const obj4;&obj4;//取址运算符 const}
参考文献:http://blog.csdn.net/makuiyu/article/details/8047340http://blog.csdn.net/wulibin136/article/details/6328974
原文:http://www.cnblogs.com/gxcdream/p/4822066.html