1 多态
- 多态是C++面向对象三大特性之一
多态分为两类
- 静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名
- 动态多态: 派生类和虚函数实现运行时多态
静态多态和动态多态区别:
- 静态多态的函数地址早绑定 - 编译阶段确定函数地址
- 动态多态的函数地址晚绑定 - 运行阶段确定函数地址
多态满足条件
- 有继承关系
- 子类重写父类中的虚函数
多态使用条件
- 父类指针或引用指向子类对象
重写:函数返回值类型 函数名 参数列表 完全一致称为重写
https://blog.csdn.net/qq_52145272/article/details/119928585
2 纯虚函数及抽象类
在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容,因此可以将虚函数改为纯虚函数
-纯虚函数语法:`virtual 返回值类型 函数名 (参数列表)= 0 ;`
-当类中有了纯虚函数,这个类也称为抽象类
抽象类特点:
-无法实例化对象
-类必须重写抽象类中的纯虚函数,否则也属于抽象类
https://blog.csdn.net/qq_52145272/article/details/119928585
3 C++新增数据类型(逻辑值,引用类型,类类型)
-- 基本数据类型
字符类型:char、unsigned char
短整型:short、unsigned short
整型:int、unsigned int
长整型:long、unsigned long
单精度浮点型:float、unsigned float
双精度浮点型:double、unsigned double
逻辑类型:bool
-- 构造数据类型
枚举类型:
enumcolor
{
red,
green,
blue,
yellow
};
数组类型:
int data[128];
指针类型:
int *p;
结构体类型:
struct student
{
char name[16];
bool sexy;
};
联合类型:
union value{inti;intp};
引用类型:
int value;
int &p=value;
-- 类类型
class Clock
{
private:
int hour,minute,second;
public:
…
}
C++ 引用类型
https://www.runoob.com/w3cnote/cpp-reference-type.html
https://blog.csdn.net/stop_and_go/article/details/51334137
C语言没有引用,只有指针
C语言是没有引用的,引用是在C++里面才存在的神级操作
https://blog.51cto.com/u_15091053/2616914
C++基本语法篇
https://blog.csdn.net/yf_roy/article/details/114213361?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-114213361-blog-98479238.pc_relevant_multi_platform_whitelistv4&spm=1001.2101.3001.4242.1&utm_relevant_index=3
https://blog.csdn.net/qq_52145272/article/details/119841054
4 内联函数
内联函数与宏定义的区别
- 内联函数在编译时展开,带参的宏在预编译时展开。
- 内联函数直接嵌入到目标代码中,带参的宏是简单的做文本替换。
- 内联函数有类型检测、语法判断等功能,宏只是替换。
https://blog.csdn.net/li94263/article/details/124767566
5 引用资料地址
https://blog.csdn.net/qq_52145272/category_11303409.html
# 系列文章目录
[【C++从入门到入土】第一篇:从C到C++](https://blog.csdn.net/qq_52145272/article/details/119841054).\
[【C++从入门到入土】第二篇:类和对象基础](https://editor.csdn.net/md/?articleId=119867842).\
[【C++从入门到入土】第三篇:类和对象提高](https://editor.csdn.net/md/?articleId=119887911).\
[【C++从入门到入土】第四篇:运算符重载](https://blog.csdn.net/qq_52145272/article/details/119850640).\
[【C++从入门到入土】第五篇:继承(爆肝画图详解)](https://editor.csdn.net/md/?articleId=119899005).
6 override描述符
- 如果派生类在虚函数声明时使用了override描述符,那么该函数必须重载其基类中的同名函数,否则代码将无法通过编译。