三種訪問許可權
public:可以被任意實體訪問
protected:只允許子類及本類的成員函式訪問
private:只允許本類的成員函式訪問
三種繼承方式
public 繼承
protect 繼承
private 繼承
組合結果
基類中 繼承方式 子類中
public & public繼承 => public
public & protected繼承 => protected
public & private繼承 => private
protected & public繼承 => protected
protected & protected繼承 => protected
protected & private繼承 => private
private & public繼承 => 子類無權訪問
private & protected繼承 => 子類無權訪問
private & private繼承 => 子類無權訪問
由以上組合結果可以看出
1、public繼承不改變基類成員的訪問許可權
2、private繼承使得基類所有成員在子類中的訪問許可權變為private
3、protected繼承將基類中public成員變為子類的protected成員,其它成員的訪問 許可權不變。
4、基類中的private成員不受繼承方式的影響,子類永遠無權訪問。
此外,在使用private繼承時,還存在另外一種機制:准許訪問。
測試例項**:
//公有派生的公有成員例程如下:
/*#include
using namespace std;
class father
};class son:public father
;int main()
*///公有派生的保護許可權例程如下:
/*#include
using namespace std;
class father
};class son:public father
};int main()
*///公有派生的私有成員例程如下:
/*#include
using namespace std;
class father
};class son:public father
};int main()
*///2.私有派生
#include
using namespace std;
class father
};class son:private father
};int main()
在子類中訪問父類的私有成員訪問是不會成功的。
繼承的賦值
一般只有派生類的物件可以複製給基類的物件。
派生類的物件還可以對基類的物件進行指標變數的複製操作。
1.派生類的物件可以初始化基類的引用。
2.派生類姐可以將物件的位址複製給基類的指標。
C 類繼承訪問許可權及外部訪問許可權
c 訪問許可權問題主要包括兩種 一種是外界對類成員的普通訪問,主要通過類內的public protected private許可權修飾符 另一種是繼承關係中子類對父類成員的訪問。基本原則 外界只能訪問類中public成員,子類可訪問父類的public和protected成員 不同繼承方式只影響外界 ...
繼承訪問許可權
當子類繼承了某個類後,便可以使用父類中的成員變數,當並不是完全繼承父類的所有成員變數,具體原則如下 變數原則 1 能夠繼承父類的public和protected變數.不能夠繼承父類的private變數 package test1 class son public class a extends so...
c 訪問控制和繼承
表示訪問控制和繼承 派生類可以訪問基類中所有的非私有成員。因此基類成員如果不想被派生類的成員函式訪問,則應在基類中宣告為 private。乙個派生類繼承了所有的基類方法,但下列情況除外 基類的建構函式 析構函式和拷貝建構函式。基類的過載運算子。基類的友元函式 1,繼承自乙個基類時格式為 class ...