C++ 空类默认产生的类成员函数
C++的空类有哪些成员函数:
. 缺省构造函数。
. 缺省拷贝构造函数。
. 缺省析构函数。
. 缺省赋值运算符。
. 缺省取址运算符。
. 缺省取址运算符 const。
. 缺省构造函数。
. 缺省拷贝构造函数。
. 缺省析构函数。
. 缺省赋值运算符。
. 缺省取址运算符。
. 缺省取址运算符 const。
注意:有些书上只是简单的介绍了前四个函数(宝典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