![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 67
shelley_404
靡不有初,鲜克有终。
展开
-
OOP特性之多态
1. 什么是多态?对于同一种指令,针对不同的对象产生不同的行为 分为静态多态和动态多态:静态多态发生在编译时 --- 函数重载、运算符重载、模板;动态多态发生在运行时 --- 虚函数2. 虚函数2.1 虚函数的定义成员函数名前 + virtual关键字在派生类中重写虚函数:函数名、参数个数、类型、顺序、返回类型必须和基类中一致2.2 虚函数的实现: 基类定义虚函数时,会在基类存储布局顶部生成一个虚函数指针指向虚函数表。派生类继承虚函数时同样...原创 2021-11-15 14:10:26 · 788 阅读 · 0 评论 -
类---继承
1. 基类和派生类c++中的继承:从既有类(基类)产生新类(派生类)1.1 派生类的生成步骤吸收基类的成员 改造基类的成员 新增自己的成员1.2 派生类的局限数据成员可以完全吸收,但成员函数不能 不能被继承:构造、析构函数、基类重载的operator=/new/delete函数、友元关系1.3 派生方式派生方式 基类中访问权限 派生类访问权限 派生类对象访问权限 public public public 可以直接访问 protecte原创 2021-11-14 20:51:01 · 451 阅读 · 0 评论 -
特殊的成员
1. 特殊的数据成员1.1 常量数据成员 只能在构造函数初始化列表中进行初始化,不可赋值 --- 可视为普通常量。1.2引用数据成员 只能在构造函数初始化列表中进行初始化,占用一个指针大小的空间(用于区分)。1.3类成员对象一个类创建的对象作为另一个类的数据成员(子对象)。 此时会调用子对象的默认构造函数。 必须在另一类的初始化列表中显式初始化子对象。 1.4静态数据成员 存储在全局静态区,不占用对象的大小,被所有对象共享。不能在初...原创 2021-11-06 09:26:51 · 63 阅读 · 0 评论 -
类对象的创建和销毁
析构函数1. 特征 ① 函数名 = ~ + 类名;② 无参,无返回类型,故不可重载,函数唯一。2. 被调用时机无论何时一个对象被销毁,就会自动调用其析构函数。变量在离开其作用域时被销毁。 当一个对象被销毁时,其成员被销毁。 容器(无论是标准库容器还是数组)被销毁时,其元素被销毁。 对于动态分配的对象,当对指向他的指针应用delete时被销毁。 对于临时对象,当创建它的完整表达式结束时被销毁。3. 注意由于析构函数自动运行,程序可以按需分配资源而无需担心何时释...原创 2021-11-03 23:36:15 · 1132 阅读 · 0 评论 -
const关键字
1. const修饰一般变量const关键字修饰的变量成为常量。常量需要初始化,且不可赋值。宏定义和const常量的区别 宏定义发生在预处理阶段,只进行简单的字符串替换,不占用内存空间,不进行检查,发生错误时在编译阶段才会发现。 const常量发生在编译阶段,常量具有数据类型,占用内存空间,便于编译器进行检查。2. const修饰指针常量指针(pointer to const)const int *p; //const 修饰 *p*p = v...原创 2021-11-01 20:55:45 · 66 阅读 · 0 评论