C++中的空类,默认产生哪些类成员函数?

来源:互联网 发布:免费sql数据库 编辑:程序博客网 时间:2024/06/05 02:05


class Empty{public:/*Empty();//默认构造函数Empty(const Empty& rhs);//拷贝构造函数~Empty();//析构函数Empty& operator=(const Empty& rhs);//赋值函数   Empty* operator&();//取地址运算符   const Empty* operator&() const;//取址运算符 const */protected:private:};void main(){Empty a;Empty b=a;Empty* c=&a;Empty d(a);    }
上述程序可以在MSVC2008上可以运行。表明一个空类可以产生六个成员函数,分别是默认构造函数,拷贝构造函数,析构函数,赋值函数,取地址运算符,取地址运算符const.当然,所有这些只有当被需要才会产生。比如你定义了一个类,但从来定义过该类的对象,也没使用过该类型的函数参数,那么基本啥也不会产生。在比如你从来没有进行过该类型对象之间的赋值,那么operator=不会被产生。



0 0
原创粉丝点击