位置:首页 > 高级语言 > C++教程 > C++继承

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?