原則:is-a
父類/子類
基類/派生類
class 派生類 : [訪問限定符] 基類
//如果不寫繼承訪問限定符,預設是private
public
protected
private
類成員函式√√
√友元函式√√
√子類函式√√
×類物件√×
×public
protected
private
public 繼承√√
×protected 繼承√√
×private 繼承√√
×
class base ;
class derive:public base {
public:
void test() {
cout<< public_data <子類內部訪問父類成員,只能訪問public和protected成員
public
protected
private
public 繼承√×
×protected 繼承××
×private 繼承××
×子類只有public繼承父類的時候,才能訪問父類的public成員,其他都不能訪問。
通常子類使用public繼承父類。
子類物件訪問父類成員訪問限定符的變化
繼承方式\父類成員
public
protected
private
public 繼承
public
protected
不可見protected 繼承
protected
protected
不可見private 繼承
private
private
不可見
小結:1.public無論類內部還是類物件都可以訪問。
2.protected類物件不可訪問,類內部與繼承類的內部可以訪問。
3.private只有類內部可以訪問。
#include using std::cout;
using std::endl;
class member{
public:
member(){
cout << "member init" 執行結果
當建立乙個子類成員變數時:
父物件構造->成員變數構造->子物件構造
析構順序剛好相反:
子物件析構->成員變數析構->父物件析構
C 基礎 繼承
繼承class 派生類 訪問限定符 基類 public protected private 類成員函式 友元函式 子類函式 類物件 子類繼承類父類所有的成員變數和成員函式。與訪問限定 符無關。訪問限定符只是限制了訪問。子類訪問父類成員變數,把父類成員變數訪問限制符,改為 protected 子類內部...
C 基礎 繼承
如果乙個類的成員被定義成該類的私有成員,那麼只有基類的成員和友元可以訪問類中的私有成員。同時派生類也無法訪問基類的私有成員,派生類的例項物件也無法訪問這些私有成員。如果派生類為公有繼承,基類成員保持自己的訪問級別 基類的public成員為派生類的public成員,基類的protected成員為派生類...
C 繼承基礎
一,繼承和多型 類之間的繼承 基類,父類 成員變數 描述類的屬性 成員函式 功能 派生類 子類 體現出與基類的不同 繼承 基類與派生類之間訪問許可權 1.public繼承 基類裡面的公有成員變數被繼承後在派生類中也是公有的 可以在類外被訪問 基類裡面的保護成員變數被繼承後在派生類中可以被訪問,在派生...