c++面向对象8------c++继承

本文介绍了C++中的继承概念,包括单级继承和多级继承,并通过示例代码展示了如何实现继承,以及继承带来的代码重用性和扩展性优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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;  
}
C++

执行上面代码,输出结果如下 -

Salary: 60000
Bonus: 5000
C++

在上面的例子中,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;  
}
C++

执行上面代码,输出结果如下 -

Eating...
Barking...
C++

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

执行上面代码,输出结果如下 -

Eating...
Barking?
Weeping?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值