C++远征--jame_yuan(慕课网)

int &a=b;引用符

int const a = 3; int *p = &a;     只读 不能 赋给 读写

有默认参数值得参数必须在参数表的最右端 void fun(int i, int j=5,int k);

重载函数可以处理多类型

内联函数节省时间,省去调用和返回步骤。要求逻辑简单,调用频繁,编译器自动判断

释放内存要将指针置为空 int *p=new int[1000]; if(p==NULL){}; delete []p; p=NULL;

如果类中有const数据成员,需要在初始化时写到初始化列表中

对象的生命历程:申请内存->初始化列表->构造函数->参与运算->析构函数->释放内存

如果对象A中有对象成员B,对象B没有默认构造函数,那么对象A必须在初始化列表中初始化对象B。?????

深拷贝首先要申请一段内存,然后将传入进来的对象对应位置的内存拷贝到申请的内存中去。

this指针指向的是所在对象本身的地址

 int const *p:*p数据成员不变          int * const p:p指向的位置不改变

public继承,protected继承,private继承

 父子关系 成员同名 隐藏

isA  多的可以赋值给少的,派生类赋值给基类

多继承 多重继承

virtual在函数中的使用限制:1.普通函数(全局函数)不能是虚函数  2.静态成员函数不能是虚函数  3.内联函数不能使虚函数(可以正常编译,但忽略inline功能)  4.构造函数不能是虚函数

有纯虚函数的类是抽象类,抽象类无法实例对象,抽象类的子类将虚函数实现就可以实例对象了

仅含有纯虚函数的类叫接口类

 RTTI(运行时类型识别):dynamic_cast 注意事项:1.只能应用于指针和引用的转换   2.要转换的类型中必须包含虚函数  3.转换成功返回子类的地址,转换失败返回NULL

           typeid 注意事项:1.type_id返回一个type_info对象的引用 2.如果想通过基类的指针获得派生类的数据类型,基类必须带有虚函数 3.只能获取对象的实际类型

异常处理:throw  try   catch(...)

常见的异常:数组下标越界,除数为0,内存不足

友元的注意事项:1.友元关系不可传递  2.友元关系的单向性  3.友元声明的形式数量不受限制   4.友元是不得已而为之的语法,破坏了封装

原文地址:https://www.cnblogs.com/yawenw/p/11140445.html