怎样讲述C++中的C++基类
这篇文章给大家介绍怎样讲述C++中的C++基类,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
C++语言中有一个很重要的特性:Private派生确保C++基类中的方法只能被派生类的对象的方法间接使用,而不能被外部使用,除非这些方法已经被重新定义,下面就进行详细说明。
继承是一个进程,通过继承,一个对象可以获得另一个对象的属性(包括函数),并可向其中加入属于自己的一些特征。作为C++语言的一种重要机制,用继承的方法可以自动为一个类提供来自另一个类的操作和数据结构。
进而使程序设计人员在一个一般的类的基础上很快建立一个新的类,而不必从零开始设计每个类。当一个类被其他的类继承时,被继承的类称为基类,又称为父类。继承其他类属性的类称为派生类,又称为子类。
一般情况下,继承的进程起源于一个C++基类的定义,基类定义了其所有派生类的公有属性。从本质上讲,基类具有同一类集合中的公共属性,派生类继承了这些属性,并且增加了自己特有的属性。从任何已存在的类继承的实质就是建造新的派生类。
从一个基类派生的继承称为单继承,换句话说,派生类只有一个直接C++基类。单继承声明语句的常用格式为:
class 派生类名: 访问控制关键字 基类名 { 数据成员和成员函数声明 };
与此相对地,从多个基类派生的继承称为多继承或多重继承,也就是说,一个派生类有多个直接基类。在某些面向对象的语言(如Java)中不支持类间的多重继承而只支持单重继承,即一个类至多只能有一个直接父类,因此实现类似的功能需要借助接口等其他机制。而在C++中提供了多重继承的语法支持,使得问题变得简单了许多。多重继承声明语句的常用格式为:
class 派生类名: 访问控制关键字 基类名1, 访问控制关键字 基类名2,... { 数据成员和成员函数声明 };
除了多重继承之外,一个派生类继承多个基类还有一种方法,就是把派生类作为基类再次供别的类继承,产生多层次的继承关系。例如类A派生类B,类B派生类C,则称类A是类B的直接基类,类B是类C的直接基类,类A是类C的间接基类。
类的层次结构也叫做继承链。还是上面的例子,当建立类C的对象时,类A的构造函数***被调用,接下来被调用的是类B的构造函数,***是类C的构造函数。析构函数的调用顺序正好相反。当一个派生类继承有层次的类时,继承链上的每个派生类必须将它需要的变量传递给它的基类。
在继承声明语句中,访问控制关键字用于说明在基类定义中所声明的成员和成员函数能够在多大范围内被派生类所访问。访问控制关键字可为public, private或protected。如果访问控制关键字为public。
则称派生类从C++基类公有继承,也称公有派生。如果访问控制关键字为private,则称派生类从C++基类私有继承,也称私有派生。现在笔者将公有继承和私有继承的具体区别列表如下。
通过上表,我们可以将两种派生的特点总结如下:
基类成员 | 基类private成员 | 基类public成员 | ||
派生方式 | private | public | private | public |
派生类成员 | 不可见 | 不可见 | 可见 | 可见 |
外部函数 | 不可见 | 不可见 | 不可见 | 可见 |
关于怎样讲述C++中的C++基类就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341