C++类的继承与派生
一、继承
继承是面向对象程序设计中最重要的一个概念。继承允许我们根据一个类来定义另一个类,达到了代码功能重用效果。
当创建一个类时,如果待创建的类与另一个类存在某些共同特征,程序员不需要全部重新编写成员变量和成员函数,只需指定继承另一个类即可,被继承的类称为基类或父类,新建的类称为派生类或子类。
二、基类和派生类
定义一个派生类,需要指定它的基类,语法如下:
1 | class <派生类名>:<继承方式> <基类名> |
继承方式是 public、protected 或 private 其中的一个,基类是之前定义过的某个类的名称。如果未指定继承方式,则默认为private。
选秀之后,被选中的超女成了宫女和王妃,宫女和王妃从超女那里继承了姓名、年龄、身高、身材、颜值等特征,还会具备一些新的特征,如果是王妃,有称号、居住的宫殿、奉䘵、为她服务的太监和宫女数量等。还有,王妃的年龄、身材和颜值都不能随便讨论的,会掉脑袋的。
示例(book235.cpp)
1 | /* |
运行效果
三、继承方式
当一个类派生自基类,该基类可以被继承为 public、protected 或 private 几种方式,当使用不同类型的继承时,遵循以下几个规则:
1)公有继承(public):当类派生以public方式继承时,基类的公有成员也是派生类的公有成员,基类的保护成员也是派生类的保护成员,基类的私有成员不能直接被派生类访问,但是可以通过调用基类的公有和保护成员来访问。
2)保护继承(protected): 当类派生以protected方式继承时,基类的公有和保护成员将成为派生类的保护成员。
3)私有继承(private):当类派生以private方式继承时,基类的公有和保护成员将成为派生类的私有成员。
我们几乎不使用 protected 或 private 继承,通常使用 public 继承。
五、基类与派生类的指针
基类的指针可以指向基类对象,也可以指向派生类对象,但是不能通过基类的指针访问派生类的成员。
派生类的指针可以指向派生类对象,但不可以指向基类对象。
六、多继承
多继承即一个派生类可以有多个基类,它继承了多个基类的特性。
C++ 类可以从多个基类继承成员,语法如下:
1 | class <派生类名>:<继承方式1><基类名1>,<继承方式2><基类名2>,… |
其中,继承方式是 public、protected 或 private 其中的一个,用来修饰每个基类,各个基类之间用逗号分隔。
七、应用经验
类的继承与派生在windows环境开发中用得比较多,在Linux环境下用得比较少,这么多年来,我只是偶尔用一下,大家只要了解继承与派生基本用法就行了,如果在实际开发中真的要用到类的继承,再来研究也不迟,这个没什么技术难度。
八、课后作业
编写示例程序,把本章节介绍的知识点全部演示一遍,用程序演示可以加深理解和映象。
九、版权声明
C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。
来源:C语言技术网(www.freecplus.net)
作者:码农有道