ISO/IEC 14882(C++的国际标准文件)中说明:
一个空类必须默认生成四个成员函数:
构造函数,析构函数,拷贝构造函数,赋值函数
class Empty {
public:
Empty(); // 缺省构造函数
Empty(const Empty& rhs); // 拷贝构造函数
public:
Empty(); // 缺省构造函数
Empty(const Empty& rhs); // 拷贝构造函数
~Empty(); // 析构函数
Empty& operator=(const Empty& rhs); // 赋值运算符
};
有一点争议的是:
在《effective c++》中,大师说到一个类中应该包含六个默认成员函数,另外两个是
取址运算符和常取址运算符
Empty* operator&(); // address-of operators
const Empty* operator&() const;