在C++的一个空类中,如:Empy:
class Empty
{
};
虽然通过上面可以看出Empty类定义中没有任何成员,但一般会进行一些默认的操作,编译会自动加入一些默认的函数。
如:(1)默认的构造函数和复制构造函数,它们被用于类的对象的构造过程。
(2)析构函数,被用于同类的对象间赋值过程。
(3)赋值函数,它被用于同类的对象间的赋值过程。
(4)取值运算,当对类的对象进行取值地址(&)时,此函数被调用。
参考:https://blog.csdn.net/aidem_brown/article/details/39925287?utm_source=copy
如下代码:class Empty
{
public:
Empty(); // 缺省构造函数
Empty( const Empty& ); // 拷贝构造函数
~Empty(); // 析构函数
Empty& operator=( const Empty& ); // 赋值运算符
Empty* operator&(); // 取址运算符
const Empty* operator&() const; // 取址运算符 const
};