C++空類意味著該類不攜帶任何數據,也就是說,在類中沒有非靜態數據成員變量,沒有虛擬函數,也沒有虛擬基類,本文是武林技術頻道小編為大家詳解C++空類,一起來看看吧!
空類默認產生的成員:
class Empty {};
Empty(); // 默認構造函數
Empty( const Empty& ); // 默認拷貝構造函數
~Empty(); // 默認析構函數
Empty& operator=( const Empty& );? // 默認賦值運算符
Empty* operator&();?????????????? // 取址運算符
const Empty* operator&() const;??? // 取址運算符 const
給出一個例子:
?
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++空類資料,相信大家都知道了吧!如果你已經學會這些方法了,那么趕快去操作一下吧!
新聞熱點
疑難解答
圖片精選