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

C++中用#define訪問類的私有成員

編輯:關於C++

我們知道,類的私有成員在類的外部是不能被訪問的。

例如有下面的這個簡單的類:

class ClxECS
{
private:
int iPrivate;
};

那麼下面的這個函數是不能通過編譯的:

  void ECS_test()
{
ClxECS lx;
lx.iPrivate = 13;
  cout << lx.iPrivate << endl;
}

但是,我們並不是沒有辦法來訪問類的私有成員。

其實,方法很簡單,只要在類的聲明前面加上如下一行代碼就行了:

#define private public

同樣的,這個方法對保護成員也適用:

#define protected public

但是,這是一個非正規的手段,它將破壞類的所有封裝性。而C++中的#define的存在也是為了跟C兼容。所以只有在非常特殊的情況下,才會用這種非正規方法訪問類的私有或保護成員。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved