一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

C++繼承

 quandsu 2013-08-22

繼承(inheritance)

一個類能從另一個類里面派生(derived),這個類叫基類(base class)。

★派生類繼承基類除構造函數(shù)、析構函數(shù)和賦值函數(shù)之外的所有成員。

Base(父類、基類)---->derived(子類、派生類)

derived = base part + appendant part //派生類=基類部分+附加部分;

★基類的私有成員不能被派生類訪問,只能通過基類的公有成員來訪問。
例:
 class A
 {
 private:
  funcA();
 public:
  funcB(){funcA();}; 
 };

 class B->A
 {

 };

 class C 
 {
 private:
  int c;
 public:
  int getC() {return c;}
  int f(int, int){cout<<c<<endl;}   //基類的函數(shù)f(int, int);
 };

 class D-->c
 {
 private:
  int d;
 public;
  int getD() {return d;}
  foo() {d=c;}     //c為基類私有成員,不可見,所以不能直接用c賦值給d;
  foo() {d=getC();}    //getC()為基類公有部分,可以用這種方法把c的值賦給d;
  int f(int, int){cout<<d<<endl;}   //派生類的f(int, int)覆蓋了基類的f(int, int);
 };

 C c1; c1.f(int, int);     //輸出c的值;
 D d1; d1.f(int, int);     //輸出d的值;
 d1.C::f(int, int);     //輸出c的值;
 
 C* pc=&c1; pc->f(int, int);   //輸出c的值;
 D* pd=&d1; pd->f(int, int);   //輸出c的值;
B類成員不能直接訪問funcA(),只能通過funcB()來訪問funcA()。

★子類可以定義一個和基類同名、同參數(shù)、同返回值的成員函數(shù),派生類會覆蓋基類函數(shù),覆蓋(overrides)是一類特殊的重載。

★由C類派生出D類,C類自身無任何變化。
例:
 C c1; c1.f(int, int);     //輸出c的值;
 D d1; d1.f(int, int);     //輸出d的值;

 C* pc=&c1; pc->f(int, int);   //輸出c的值;
 D* pd=&d1; pd->f(int, int);   //輸出c的值;

★由于子類會繼承基類部分,想調(diào)用基類必須使用域作用運算符。
例:
 d1.C::f(int, int);     //輸出c的值;

★繼承的寫法:
例:
 class Derived:public Base
 {
 };

★保護(protected):一個類的保護成員只能被他的成員函數(shù)和友元函數(shù)訪問,不能被別人訪問。一個類的保護部分不能被子類對象訪問,只能通過成員函數(shù)訪問。【在公有繼承的情況下,基類的保護成員可以被子類的成員函數(shù)訪問。】
例:
 class Base
 {
 private:
  int a1;
 public:
  int a2;
 protected:
  int a3;
 };

 class D:public Base
 {
 public:
  print(){
   cout<<a1<<endl;  //error;
   cout<<a2<<endl;  //ok;
   cout<<a3<<endl;  //ok;
   }
 };

 D d; d.a1 //error;
  d.a2 //ok;
  d.a3 //error;

★★★三種繼承方式:

●基類成員的訪問權限在子類里只能維持原樣或者降低,不能提升。

①公有繼承:(最常使用)派生類的基類部分權限不變;
例:
 class Derived : public Base{};
②私有繼承:派生類的基類部分都是私有;
例:
 class Derived : private Base{};
③保護繼承:派生類的基類部分的公有成員和保護成員為保護成員,私有部分權限不變(還是私有);
例:
 class Derived : protected Base{};

一重繼承:一個父類一個子類;
多重繼承:一個爺爺類,一個父類,一個子類或者更多。

▲子類中繼承來的基類部分的私有不能直接被子類訪問,但是通過私有繼承變成私有的可以被子類訪問。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    丝袜诱惑一区二区三区| 国产精品久久三级精品| 欧美一区二区三区在线播放| 黄片免费播放一区二区| 亚洲一区二区欧美在线| 小草少妇视频免费看视频| 美女黄色三级深夜福利| 亚洲国产精品久久网午夜| 激情五月天深爱丁香婷婷| 国产又大又硬又粗又黄| 国内外免费在线激情视频| 亚洲欧美日韩国产成人| 国产永久免费高清在线精品| 国产又粗又猛又爽又黄的文字| 亚洲午夜精品视频观看| 男人和女人黄 色大片| 黄片免费观看一区二区| 激情五月激情婷婷丁香| 神马午夜福利免费视频| 日韩欧美高清国内精品| 91精品日本在线视频| 在线观看免费无遮挡大尺度视频| 国产又粗又深又猛又爽又黄| 欧美午夜一级艳片免费看| 亚洲精品一区三区三区| 五月的丁香婷婷综合网| 国产精品不卡一区二区三区四区| 加勒比人妻精品一区二区| 精品日韩国产高清毛片| 久久亚洲精品中文字幕| 国产精品免费福利在线| 国产又大又黄又粗的黄色| 欧美高潮喷吹一区二区| 中文久久乱码一区二区| 老富婆找帅哥按摩抠逼视频 | 欧美成人免费视频午夜色| 国产精品一区二区三区欧美| 欧美一区二区三区播放| 国产原创中文av在线播放| 日本大学生精油按摩在线观看| 中文字幕一区二区熟女|