最新 最热

派生类的构造过程

1、先基类、后对象、再子类 多继承,初始化顺序跟基类的声明顺序有关,从左到右。 对象 ,与声明类的顺序有关,从上到下。

2023-10-20
1

shadow、overload、override

shadow(阴影)、overload(重载)、override(覆写),这三个概念一直有人非常混淆,很幸运,经过老师的悉心教导,我总结了一下三个概念的不同之处。 shadow:发生在父子之间,需要函数名相同即可构成 shadow (阴影),构成 shadow 后可通过域运...

2023-10-20
1

shadow、overload、override

shadow(阴影)、overload(重载)、override(覆写),这三个概念一直有人非常混淆,很幸运,经过老师的悉心教导,我总结了一下三个概念的不同之处。 shadow:发生在父子之间,需要函数名相同即可构成 shadow (阴影),构成 shadow 后可通过域运...

2023-10-20
1

继承权限及关系简单阐述

类具有三种成员属性,一种是public、一种是protected、一种是private。这三种在派生的类中也有不同的访问权限,当然不单单只看父类的成员属性,还要看派生类以什么方式继承父类,如下代码所示:...

2023-10-20
1

多继承案例及常见问题

多继承,是希望一个子类可以继承多个父类的资源,使自己的功能更加强大,有一个床类、一个沙发类,我们希望将两个类的功能整合到一起,成为一个“沙发床”的类,即可以睡觉、又可以做。这就是多继承的应用。当然我们说的有一些抽...

2023-10-20
0

多继承三角和钻石问题(虚继承)

上一篇文章我们简单介绍了一下多继承的语法,但是我们遇到了一个问题,那就是如果多个父类具有相同名称的成员变量或成员方法,子类在调用的时候就会出现二义性问题,子类不知道选择哪一个父类的变量或方法,我们称之为三角问题...

2023-10-20
0

子类赋值父类的赋值兼容

C++ 中,类型的匹配检测是非常严格的,但是你会发现一个现象,如果一个类继承了另外一个类,把子类的对象赋值给父类的时候,系统不但不提示错误,而且程序还能顺利的编译通过并运行。这其实就是 C++ 内部提供的赋值兼容的过程,但...

2023-10-20
0

多态形成的三要素

上一篇文章中,我们看到了简单的赋值兼容模型,将子类赋值给父类对象时,调用共有的同名接口时,调用的依然还是父类的成员函数。在 C++ 中,有一个总要的概念,那就是多态。通过父类提供一些虚函数,让子类继承下去并实现为另外的...

2023-10-20
0

抽象类纯虚函数与虚析构

纯虚函数,一般是在设计一个基类时使用的,它将接口函数设置为纯虚函数后,只提供子类去继承并实现,以形成多态,除此以外不提供任何其他功能,我们称这种类为抽象类(abstract)。...

2023-10-20
0

Lambda01-Functional 函数式接口

Functional 的定义其实很简单:任何接口,如果只包含 唯一一个抽象方法,那么它就是一个 Functional Interface ,函数式接口?这注解名字好。为了让编译器帮助我们确保一个接口满足 Functional Interface 的要求(也就是说有且...

2023-10-20
0