C++类的继承语法及作用详解

类的继承机制

C++中类的继承是什么呢?通俗来将,就是通过类的继承机制,A类的派生类B将继承来自A类中的大部分成员,比如公有成员、保护成员,可包括一系列非私有和非静态的成员函数,如此一来,B类的实例对象便可直接拥有A类中的大部分成员。比如:水果类拥有名称、价格等成员,那么继承水果类的派生类,比如热带的水果类就可以不用再声明名称和价格了,可以直接从水果类继承。

提示:派生类不会继承来自基类的私有成员、构造函数、析构函数和拷贝构造函数,以及重载运算符等。

类继承机制的作用

C++作为面向对象的编程语言,类的继承机制是其重要的概念之一,通过类的继承,可以清晰化C++面向对象编程的程序的结构,也可以高效地复用已经写好的代码,提高开发的效率等等。

基类

被继承的已有的类,便可以称之为某个类的基类。也就是说,其是相对而言的,不可脱离其派生类而称之为基类。

派生类

继承某个或某些个已有的类的类,可称之为该基类的派生类。

类继承语法

class derivedClassName: access-specifier baseClassName

语法解析

  • derivedClassName:派生类的名称;
  • access-specifier:指定派生类继承基类的类型,可以是public、private和protected等类型;
  • baseClassName:基类的名称;

类的继承类型

  • public:公有继承,基类的公有成员(除了构造函数、析构函数、拷贝构造函数等)也是派生类的公有成员,基类的保护成员也是派生类的保护成员,而私有成员不能被继承;
  • protected:保护继承,基类的公有成员和保护成员将成为派生类的保护成员(除了构造函数、析构函数、拷贝构造函数等);
  • private:私有继承,基类的公有成员和保护成员将成为炮声类的私有成员;

类的继承实例代码

下面是一个很简单的实例,定义了一个Fruit类,并派生了一个Tropical_Fruits热带水果的类,且该派生类内部未显式地声明任何成员,但是,因为其继承自Fruit类,而且是采用public公有的继承方式,因此也拥有name和price两个公有成员:

#include <iostream>
using namespace std;

class Fruit{
    public:
        string name;
        int price;
};

class Tropical_Fruits: public Fruit{

};

int main(){

    Tropical_Fruits banana;
    banana.name = "香蕉";
    banana.price = 2;
    cout << banana.name << endl;
    cout << banana.price << endl;

    return 0;
}

代码编译运行后,得到输出:

香蕉
2

免责声明:内容仅供参考,不保证正确性。


全栈后端 / C++教程 :
















Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.