-
try与catch对应关系
catch(...)会处理所有异常,通常是前面所有情况都无法处理了才进行这步操作
查看全部 -
异常处理:
对于func1, 遇到异常,抛出1, 会在catch中进行处理
对于mian,如果try中代码运行正常,不会运行catch,直接运行后面代码;如果try中运行到某行出错,try后面的代码不再运行,则通过catch捕获相应的异常运行catch中的代码,后面代码不再运行
抛出的异常时一个具体的值,而捕获异常时捕获某种数据类型
查看全部 -
异常处理:(基本思想,主逻辑与异常处理分离)
try ...catch ...
throw
查看全部 -
问题:
为什么必须传入指针对象?
类型转换如何实现的?转换完的指针为什么要重新复制?
函数具体运行过程?编译阶段,运行阶段都执行了哪些操作
类方法如何调用?只能用实例调用?指针是否可以调用?
p 和*p类型?
运行时类型转换为社会么有这些限制条件?
查看全部 -
type_info
问题:
const 作用
operator如何使用
before
运算符重载
查看全部 -
typeid注意事项
查看全部 -
dynamic_cast 注意事项
查看全部 -
运行时类型识别的必要性?
查看全部 -
RTTI:运行时类型识别
typeid -- dynamic_cast\
定义一个抽象类的基类,再定义两个派生类,实现基类中定义的方法,并有自己特有的方法。
有一个函数,传入参数为基类指针,要实现,根据传入不同对象,调用不同的方法。
需要判断传入对象的类型。
查看全部 -
接口类的定义
无数据成员,只有纯虚函数
接口类更多的是表达一种能力或协议
查看全部 -
纯虚函数抽象类
含有纯虚函数的类叫做抽象类
抽象列不允许实例化对象
抽象类的子类把父类定义的纯虚函数全都实现了以后才能实例化对象
查看全部 -
指向实例的指针
查看全部 -
对象的大小:类实例化的对象,数据成员占据的内存大小,成员函数不占据内存。
对象的地址:实例化的对象,所占内存的第一个存储单元的地址
对象成员地址:实例化对象有一个或多个数据成员,每个数据成员都有自己的地址,占一定的内存空间(数据类型不同,地址不同)
函数表指针:具有虚函数的类实例化的对象时,存储在内存中第一块的指针就是虚函数表的指针
查看全部 -
虚析构函数
父类中用virual 修饰析构函数,用父类指针指向子类对象,delete 父类指针就可以释放子类对象
理论前提:执行完子类的析构函数就会执行父类的析构函数(继承中)
查看全部 -
函数的覆盖与隐藏
隐藏:子类中定义了与父类同名的函数(继承中)
覆盖:子类中定义了同名的虚函数(多态中)
子类的虚函数表中就会覆盖之前父类的虚函数表中的函数入口地址
查看全部
举报