


多态,虚函数,纯虚函数
1.多态:父类的指针或者引用,指向或初始化子类的对象,调用子类对父类重写的函数,进而展开子类的功能。
函数重写
1> 必须有继承关系
2> 子类和父类有同名同类型的函数
3> 父类中的该函数必须是虚函数
2.虚函数
1> 在函数前加上 virtual ---->该函数是虚函数
2> 虚函数满足继承,也就是说父类中该函数是虚函数,继承到子类中,该函数依旧是虚函数,如果子类再被继承,“孙类”中该函数还是虚函数....
多态中,函数重写的原理
其实就是返回,生命周期长的变量的引用。
- 类中有虚函数时,类里就会有一个虚指针,虚指针也满足继承
 - 虚指针在类的最前面,虚指针指向了一个虚函数表,虚函数表里记录了虚函数,包括子类对父类重写的函数。
 - 虚指针和虚函数表是实现多态的重要机制。
 - 3.纯虚函数
 -  
当父类中虚函数被子类用来重写,且没有定义的意义,这个时候,一般把父类中的虚函数设置成纯虚函数。
 -  
*****************************************************************************************
 -  
将引用作为函数参数有何特点
 - 引用必须有目标
 - 引用的目标一旦指定,不能更改
 - 修改引用的值,实际上就是在修改目标的值
 - 一个目标可以有多个引用
 -  
由于引用和目标占用同一块空间,在作为参数传递时,不会开辟新的空间,并且传引用实际上就是传变量的空间,所以也没有值传递和地址传递的区别
 -  
引用作为函数的返回值,结果是一个左值,所以引用作为函数的返回值可以被赋值。
引用作为函数的返回值,可以返回的内容:
 - 全局变量的引用
 - 静态局部变量的引用
 - 堆区申请的空间
 - 实参传递过来的引用
 -  
常引用就是为了保护目标,不能通过引用被修改
 -  
***********************************************************
 -  
结构体和联合体区别
 -  
结构体和联合体都是包含多个数据类型
 -  
结构体的字节大小计算,要对齐
 -  
联合体共用一个
 


















