C++繼承

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

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

C++繼承的優點

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

#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;
}

執行上面代碼,輸出結果如下 -

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;
}

執行上面代碼,輸出結果如下 -

Eating...
Barking...

C++多級繼承示例

當一個類繼承一個被另一個類繼承的類時,它被稱為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;
}

執行上面代碼,輸出結果如下 -

Eating...
Barking?
Weeping?

上一篇: C++友元函數 下一篇: C++聚合