鍍金池/ 教程/ C++/ C++繼承
C++用戶定義異常
C++ this指針
C++存儲類
C++函數(shù)
C++交換變量值
C++ continue語句
C++注釋
C++函數(shù)遞歸
C++ goto語句
C++函數(shù)-通過值調(diào)用和引用調(diào)用
C++重載
C++語言歷史
C++反轉(zhuǎn)數(shù)字
C++ try/catch語句
C++是什么?
C++變量
C++ break語句
C++運算符
C++第一個程序
C++繼承
C++虛函數(shù)
C++將十進制轉(zhuǎn)換為二進制
C++矩陣乘法
C++對象和類
C++基礎(chǔ)輸入輸出(cin,cout,endl)
C++文件和流
C++求素數(shù)
C++ if/else語句
C++友元函數(shù)
C++命名空間
C++面向?qū)ο蟾拍?/span>
C++階乘
C++關(guān)鍵字
C++重載
C++聚合
C++結(jié)構(gòu)體
C++的特點(特性)
C++打印字母表三角
C++ switch語句
C++多態(tài)
C++ do-while循環(huán)
C++字符串
C++ static關(guān)鍵字
C++錯誤處理
C++ for循環(huán)
C語言與C++的區(qū)別
C++ while循環(huán)
C++開發(fā)環(huán)境的安裝
linux環(huán)境下編譯C++ 程序
C++枚舉
C++指針
C++斐波納契數(shù)列
C++阿姆斯壯數(shù)字
C++接口
C++教程
C++數(shù)組
C++數(shù)據(jù)抽象
C++回文程序?qū)嵗?/span>
C++打印數(shù)字三角
C++將數(shù)組傳遞到函數(shù)
C++多維數(shù)組
C++將數(shù)字轉(zhuǎn)換字符

C++繼承

在C++中,繼承是一個對象自動獲取其父對象的所有屬性和行為的過程。 在示例方式中,您可以重用,擴展或修改在其他類中定義的屬性和行為。

在C++中,繼承另一個類的成員的類稱為派生類,其成員被繼承的類稱為基類。 派生類是基類的子類。

C++繼承的優(yōu)點

代碼可重用性:現(xiàn)在可以重用父類的成員。 因此,不需要再次定義那些跟父類成員。 因此在類中需要較少的代碼,提高了代碼的重用。

#include <iostream>  
using namespace std;  
class Account {  
   public:  
   float salary = 60000;   
};

class Programmer: public Account {  
   public:  
   float bonus = 5000;    
};

int main(void) {  
     Programmer p1;  
     cout<<"Salary: "<<p1.salary<<endl;    
     cout<<"Bonus: "<<p1.bonus<<endl;    
    return 0;  
}

執(zhí)行上面代碼,輸出結(jié)果如下 -

Salary: 60000
Bonus: 5000

在上面的例子中,Employee是基類,而Programmer類是派生類。

C++單級繼承示例:繼承方法

下面來看看看在繼承方法的C++繼承的另一個例子。

#include <iostream>  
using namespace std;  
 class Animal {  
   public:  
 void eat() {   
    cout<<"Eating..."<<endl;   
 }    
   };  
   class Dog: public Animal    
   {    
       public:  
     void bark(){  
    cout<<"Barking...";   
     }    
   };   
int main(void) {  
    Dog d1;  
    d1.eat();  
    d1.bark();  
    return 0;  
}

執(zhí)行上面代碼,輸出結(jié)果如下 -

Eating...
Barking...

C++多級繼承示例

當(dāng)一個類繼承一個被另一個類繼承的類時,它被稱為C++中的多級繼承。 繼承是傳遞的,所以最后的派生類獲取所有其基類的所有成員。

下面來看看看在C++中多級繼承的例子。

#include <iostream>  
using namespace std;  
 class Animal {  
   public:  
 void eat() {   
    cout<<"Eating..."<<endl;   
 }    
   };  
   class Dog: public Animal   
   {    
       public:  
     void bark(){  
    cout<<"Barking..."<<endl;   
     }    
   };   
   class BabyDog: public Dog   
   {    
       public:  
     void weep() {  
    cout<<"Weeping...";   
     }    
   };   
int main(void) {  
    BabyDog d1;  
    d1.eat();  
    d1.bark();  
     d1.weep();  
     return 0;  
}

執(zhí)行上面代碼,輸出結(jié)果如下 -

Eating...
Barking?
Weeping?

上一篇:C++命名空間下一篇:C++ goto語句