程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++空類詳解

C++空類詳解

編輯:關於C++

C++空類詳解。本站提示廣大學習愛好者:(C++空類詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是C++空類詳解正文


空類默許發生的成員:
class Empty {};
Empty(); // 默許結構函數
Empty( const Empty& ); // 默許拷貝結構函數
~Empty(); // 默許析構函數
Empty& operator=( const Empty& );  // 默許賦值運算符
Empty* operator&();               // 取址運算符
const Empty* operator&() const;    // 取址運算符 const

給出一個例子:

#include<iostream>
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;
}

運轉成果:




可見:
Empty *p=&e挪用了Empty* operator&()運算符函數
const Empty *p2=&e2挪用了const Empty* operator&() const運算符函數。
空類的年夜小為1字節。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved