C++温故笔记(二)

简介: 一、多重继承1、多重继承是从多于一个直接基类派生类的能力,多重继承的派生类继承其所有父类的属性。2、在多重继承下,派生类的对象包含每个基类的对象。3、(多重继承)构造函数初始化式只能控制用于初始化基类的值,不能控制基类的构造次序。

一、多重继承

1、多重继承是从多于一个直接基类派生类的能力,多重继承的派生类继承其所有父类的属性。

2、在多重继承下,派生类的对象包含每个基类的对象。

3、(多重继承)构造函数初始化式只能控制用于初始化基类的值,不能控制基类的构造次序。

4、对于多重继承,派生类的指针或引用可以转换为其任意基类的指针或引用。

5、当一个类继承于多个基类的时候,那些基类之间没有隐含的关系,不允许使用一个基类的指针访问其他基类的成员。(注:该特性可以用于权限访问控制。)

6、假定所有根基类都将它们的析构函数适当定义为虚函数,那么,无论通过哪种指针类型删除对象,析构函数的处理都是一致的。

7、多个基类可能导致二义性。(注:主要是指同名函数,并且不区分参数列表,只要函数名字相同,就会导致二义性。)


二、this指针

1、成员函数具有一个附加的隐含形参,即指向该类对象的一个指针。这个隐含形参命名为this,与调用成员函数的对象绑定在一起。成员函数不能定义this形参,而是由编译器隐含地定义。

2、当我们需要将一个对象作为整体引用而不是引用对象的一个成员时,我们需要在成员函数内部显式引用this。

3、在普通的非const成员函数中,this的类型是一个指向类型的const指针,可以改变this所指向的值,但不能改变this所保存的地址。在const成员函数中,this的类型是一个指向const类型对象的const指针。既不能改变this所指向的对象,也不能改变this所保存的地址。

4、不能从const成员函数返回指向类对象的普通引用。const成员函数只能返回this作为一个const引用。

目录
相关文章
|
6月前
|
算法 C++
算法笔记:递归(c++实现)
算法笔记:递归(c++实现)
|
6月前
|
编译器 C++
《Effective C++ 改善程序与设计的55个具体做法》 第一章 笔记
《Effective C++ 改善程序与设计的55个具体做法》 第一章 笔记
|
4月前
|
C++ 容器
【C/C++笔记】迭代器
【C/C++笔记】迭代器
27 1
|
4月前
|
存储 安全 程序员
【C/C++笔记】迭代器范围
【C/C++笔记】迭代器范围
71 0
|
5月前
|
C++ Windows
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
在Windows上使用Visual Studio 2022进行FFmpeg和SDL2集成开发,首先安装FFmpeg至E:\msys64\usr\local\ffmpeg,然后新建C++控制台项目。在项目属性中,添加FFmpeg和SDL2的头文件及库文件目录。接着配置链接器的附加依赖项,包括多个FFmpeg及SDL2的lib文件。在代码中引入FFmpeg的`av_log`函数输出"Hello World",编译并运行,若看到"Hello World",即表示集成成功。详细步骤可参考《FFmpeg开发实战:从零基础到短视频上线》。
219 0
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
|
7月前
|
算法 C++ 容器
黑马c++ STL常用算法 笔记(5) 常用算术生成算法
黑马c++ STL常用算法 笔记(5) 常用算术生成算法
|
6月前
|
编译器 C++
《Effective C++ 改善程序与设计的55个具体做法》 第二章 构造/析构/赋值运算 笔记
《Effective C++ 改善程序与设计的55个具体做法》 第二章 构造/析构/赋值运算 笔记
|
6月前
|
存储 小程序 程序员
Essential C++ 第1章 C++编程基础 (笔记)
Essential C++ 第1章 C++编程基础 (笔记)
|
6月前
|
算法 C语言 C++
面向考试编程C++笔记
面向考试编程C++笔记
|
7月前
|
算法 C++ 容器
黑马c++ STL常用算法 笔记(6) 常用集合算法
黑马c++ STL常用算法 笔记(6) 常用集合算法