《C++Primer》读薄系列——第15章,面向对象程序设计
在我学习C++的过程中,发现这么一个问题:诚实地讲,对于许多作者循序渐进的讲述方式,我无法对一个知识点头脑清晰地区分出所谓的肤浅理解和深刻理解,以及无法与书本一起感同身受它们陡然出现的那些缺陷。故,我选择先做点基础性的工作。即,记录这些概念的准确定义:一方面,是为了加深记忆,另一方面,我发现这些概念在最初的描述中是精简而全面的。
此外,我还需将许多概念的一般性用法进行梳理,比如派生类的构造函数如何书写。然后在其一般性原理上添加进阶的相关知识。所作所为,权当是再次学习。
表格持续更新
|
虚函数 |
基类将类型相关的函数与不做改变直接继承的函数区别对待。对于某些函数,基类希望它的派生类各自定义适合自身的版本,此时就将这些函数声明为虚函数。 |
|
动态绑定 |
我们在使用基类的引用(指针)调用虚函数时,就会发生动态绑定。所谓动态绑定,就是在运行时,虚函数会根据绑定对象的实际类型,选择调用函数的版本。 |
|
派生访问说明符 |
控制派生类用户(包括派生类的派生类在内)对于基类的访问权限。 |
| 抽象基类 | 含有(或者未经覆盖直接继承)纯虚函数的类是抽象基类 |
|
纯虚函数 |
在类的内部声明虚函数时,在分号之前使用=0。一个纯虚函数不需要(但是可以)被定义。含有纯虚函数的类是抽象基类。如果派生类没有对继承而来的纯虚函数定义自己的版本,则该派生类也是抽象的。 |
|
析构函数的运作方式 |
最深层派生的那个class其析构函数最先被调用,然后是其每一个base class的析构函数被调用。 |
浙公网安备 33010602011771号