-
虚函数的限制3 内联函数不能修饰
查看全部 -
虚函数的限制2 静态函数不能修饰
查看全部 -
虚函数的限制1 普通函数不能修饰
查看全部 -
要实现虚函数,则子父类虚函数的返回值、形参个数和类型、函数名要完全一样
查看全部 -
多肽:
静态多肽-早绑定:函数编译阶段就已经确定用哪种行为
动态多态-晚绑定:父类指针指向子类对象,调用同一行为函数,各自执行自己特征的行为函数。
查看全部 -
动态多态,需要基类声名虚析构函数查看全部
-
异常:程序在运行过程出现错误。
异常处理:对有可能发生异常的地方做出预见性的安排。
异常处理的基本思想:主逻辑与异常处理分离
try与catch是一对多的关系。
多态与异常处理的关系:Exception:HardwareErr,SizeErr,MemoryErr,NetworkErr
查看全部 -
什么是多态 静态多态和动态多态
查看全部 -
type_info结构
查看全部 -
dynamic_cast注意事项:
1、只能用于指针和引用的转换
2、要转换的类型中必须包含虚函数
3、转换成功返回子类的地址,失败返回NULL
typeid注意事项:
1、type_id返回一个type_info对象的引用
2、通过基类指针获取派生类数据类型,基类必须带有虚函数
3、只能获取对象的实际类型
查看全部 -
RTTI运行时类型识别
指向的类型名:typeid(*obj).name()
比对typeid(*obj)==typeid(Bird)
转换dynamic_cast<Bird *>(obj)//将obj转换为Bird类型
查看全部 -
接口类:定义:仅含有纯虚函数的类(没有数据成员,仅有成员函数且为纯虚函数)
接口类更多的表达一种协议或能力
查看全部 -
接口类,限定了子类必须实现的成员函数。
查看全部 -
抽象类:定义:含有纯虚函数的类叫做抽象类;
抽象类无法是实例化对象;
抽象类的子类也可以是抽象类;抽象类的子类只有把抽象类的所有纯虚函数都做了实现才能实例化
查看全部 -
纯虚函数没有函数体且要在后面+“=0”
查看全部
举报