private
語法private:
[member-list]
private base-class
備註當位於類成員列表之前時,private 關鍵字指定這些成員僅可從成員函式和該類的友元中進行訪問。這適用於宣告到下乙個訪問指示符或類的末尾的所程式設計客棧有成員。
當位於基類的名稱之前時,private 關鍵字指定基類的公共成員和受保護成員為派生類的私有成員。
類中成員的預設訪問是私有的。結構或聯合中成員的預設訪問是公共的。
基類的預設訪問對於類是私zxfffwx有的,而對於結構是公共的。 聯合不能具有基類。
例子// keyword_private.cpp
class baseclass
private:
void privmem;
};class derivedclass : public baseclass // c2248: pri程式設計客棧vmem not accessible
// from derived class
};class derivedclass2 : private baseclass
};int main()
protected
語法protected:
[member-list]
protected base-class
備註protected 關鍵字指定對 member-list 中的成員直到下乙個訪問說明符(public 或 private)或類定義的末尾的訪問。只能通過以下項使用宣告為 protected 的類成員:
最初宣告這些成員的類的成員函式。
最初宣告這些成員的類的友元。
使用公共或受保護訪問(派生自最初宣告這些成員的類)派生的類。
也對受保護成員具有專用訪問許可權的以私有方式派生的直接類。
當以基類的名稱開頭時,protected 關鍵字指定基類的公共成員和保護成員是其派生類的保護成員。
保護成員不像 private 成員那樣專用,private 成員僅對從中宣告它們的類的成員可訪問,但保護成員也不像 public 成員那樣公開,public 成員在任何函式中均可訪問。
也宣告為 static 的保護成員對派生類的任何友元或成員函式均可訪問。也宣告為 static 的保護成員對派生類中的友元或成員函式可訪問,但只能通過指向派生類的指標、對派生類的引用或派生類的物件。
例子// keyword_protected.cpp
// compile with: /ehsc
#include
using namespace std;
class x
void display()
protected:
int m_protmemb;
void protfunc()
} x;
class y : public x
} y;
int main()
public
語法public:
[member-list]
public base-class
備註當位於類成員列表前程式設計客棧麵時,public 關鍵字指定這些成員可從任何函式訪問。這適用於宣告到下乙個訪問指示符或類的末尾的所有成員。
當位於基類名稱前面時,public 關鍵字指定基類的公共和受保護成員分別是派生類的公共成員和受保護成員。
類中成員的預設訪問是私有的。結構或聯合中成員的預設訪問是公共的。
基類的預設訪問對於類是私有的,而對於結構是公共的。 聯合不能具有基類。
例子// keyword_public.cpp
class baseclass
};class derivedclass : public baseclass {};
int main()
本文標題: c++程式設計中私有和保護以及公有的類成員訪問控制
本文位址:
C 繼承 公有,私有和保護
公有繼承 public 私有繼承 private 保護繼承 protected 是常用的三種繼承方式。1.公有繼承 public 公有繼承的特點是基類的公有成員和保護成員作為派生類的成員時,它們都保持原有的狀態,而基類的私有成員仍然是私有的,不能被這個派生類的子類所訪問。2.私有繼承 private...
C 類繼承方式 公有 保護 私有
公有繼承 public 私有繼承 private 保護繼承 protected 是常用的三種繼承方式。1.公有繼承 public 公有繼承的特點是基類的公有成員和保護成員作為派生類的成員時,它們都保持原有的狀態,而基類的私有成員仍然是私有的,不能被這個派生類的子類所訪問。2.私有繼承 private...
C 公有繼承 私有繼承和保護繼承
在c 中有三種繼承方式 公有繼承 public 私有繼承 private 和保護繼承 protected 1.公有繼承 public 公有繼承 基類的公有成員和保護成員作為派生類的成員時,它們都保持原有的狀態,而基類的私有成員仍然是私有的,不能被這個派生類的子類所訪問。2.私有繼承 private ...