- 虚函数
- 允许被子类重新定义的函数
- 虚函数的作用是运行时多态的实现
- 虚函数的声明:virtual returntype func(parameter);
- 简单说就是指向子类对象的父类指针在调用虚函数时会调用子类函数,如果不使用虚函数则会调用父类函数
- 查看虚函数表:cl main.cpp /d1reportSingleClassLayoutB
- 纯虚函数
- 纯虚函数只为派生接口,包含纯虚函数的类叫抽象类
- 抽象类只能被继承,无法被实例化
- 子类必须实现接口
- 析构函数为什么要声明为虚函数
- 避免内存泄漏,使得 释放使用指向子类对象的父类指针时可以成功调用子类析构函数
- 若不使用虚函数,则子类申请的资源得不到释放
- ++i和i++比较
- i++返回原值,++i返回加1后的值
- i++先使用i进行运算,++i先进行加1运算,i的值都增加1
- ++i是左值,可以 ++i=3;结果i的值为3
- 当i为内置数据类型时,运算效率一致
- 对于自定义类型,++i效率高于i++,前者将对象作为左值返回,后者则把对象原始值的副本作为右值返回
- vector的reserve和capacity的区别
- reserve() 用于让容器预留空间,capacity()返回容器最大能容纳元素个数
- const
- 常变量:const type 变量名 或者 type const 变量名
- const 类型指针
- const离对象名近指向的地址不可变 int* const pa = &a;*pa = 6;
- *离对象名近指针内容不可变 const int *pb = &b; pb = &a;
- 修饰函数参数,函数不得修改参数
- void Fun(const type *param); //修饰指针型传入参数
- void Fun(const type ¶m); //修饰引用型传入参数
- 修饰函数返回值,返回值不可以被修改,而且返回值需要赋给常量或者常指针
- 修饰成员函数,type func(type) const;
- const对象只能访问const成员函数,非const对象也可以访问const成员函数
- const对象成员不能被修改
- const成员函数不能修改成员数据
- const成员必须初始化
-
Notifications
You must be signed in to change notification settings - Fork 0
License
zlgorithmy/cpp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published