1 C++函数默认参数
(函数参数默认为某个数)
2 c++中class 类中的staic函数
A:由于没有传递this 指针,静态成员函数只能访问static 成员 不能访问非static 成员
参考:
C++ 类中的static 成员函数
B:static 修饰的成员 函数 可以是 public,protect,private
参考:
c++中 static 变量和函数能否被子类继承
3 c++ 中成员函数的this
1:this 指针是隐含在非静态成员函数里面的一种指针
2:this 不需要定义,直接使用就可以
3:this 指针指向被调用的成员函数所属的对象
用途:
1 当形参和成员变量同名时,用this进行区分
2 在类的非静态成员函数中返回对象本身,可以使用 return *this
参考:
C++中this与*this的区别
4 模板函数跟模板类
template <typename T>
后面跟 class 或者 函数
1 区别
模板类有l模板式样的函数,变量,但是模板函数用用在函数里面
2 区别
模板类 内的成员必须指定 类型。但是模板函数有自我推导能力。
4 .0 c++ 类模板
目的:类模板,可以定义相同的操作,拥有不同数据类型的成员属性
注意:类继承的父类为模板类的时候,模板类要指明属性
参考
C++类模板和模板类
4.1 C++中的函数模板
1 参数列表在时间使用时,才确定类型
C++中的函数模板
5 声明为const的class 成员函数
例如 virtual float masterVolume() const;
若将成员函数声明为const,则该成员函数不允许修改该类的数据成员。
C++的const类成员函数
6 C++ 类中的static成员的初始化
int classA::member = 1;
C++ 类中的static成员的初始化和特点
**
7 null 跟 nullprt 区别
**
a nullprt 表示 指针空值,是对 NULL的优化
b 在 c++ 11 中,所以编译要加 -std=c++11
C++11中的指针空值nullptr
8 C++构造函数后面加:冒号
1 冒号后面跟成员,是给成员赋值
2 冒号后面跟父类,是初始化父类
C++子类的构造函数后面加:冒号的作用
**
9 C++ 中new对象时加括号()与不加括号
**
加括号 则初始化为 0
C++ 中new对象时加括号()与不加括号()分析
11 类型转换
**
1 static_cast和dynamic_cast详解
static_cast 可以理解为 c语言里面的强转。
2
dynamic_cast运算符的主要用途:将基类的指针或引用安全地转换成派生类的指针或引用,然后用派生类的指针或引用调用非虚函数。
前提条件:当我们将dynamic_cast用于某种类型的指针或引用时,只有该类型含有虚函数时,才能进行这种转换。否则,编译器会报错。
C++中深入理解dynamic_cast
3
隐式构造 与 explicit关键字
C++ explicit关键字详解
12 const 修饰参数
void f1(const Widget * pw)// f1获得一个指针,这个指针指向一个常量的Widget对象
c/c++之const
13
缺省构造即构造函数
C++基础:缺省构造函数