以下是对C++中的空类进行了详细的介绍,需要的朋友可以过来参考下
空类默认产生的成员:
class Empty {};
Empty(); // 默认构造函数
Empty( const Empty& ); // 默认拷贝构造函数
~Empty(); // 默认析构函数
Empty& operator=( const Empty& ); // 默认赋值运算符
Empty* operator&(); 来源gaodai$ma#com搞$$代**码网 // 取址运算符
const Empty* operator&() const; // 取址运算符 const
给出一个例子:
代码如下:
#include
using namespace std;
using namespace std;
class Empty
{
public:
Empty *operator&()
{
cout<<"AAAA"<<endl;
return this;
}
const Empty* operator&() const
{
cout<<"BBBB"<<endl;
return this;
}
};
int main(void)
{
Empty e;
Empty *p=&e;
const Empty e2;
const Empty *p2=&e2;
cout<<sizeof(Empty)<<endl;
}
以上就是C++空类详解的详细内容,更多请关注gaodaima搞代码网其它相关文章!