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
免责声明:内容仅供参考,不保证正确性。