-
仅含有纯虚函数的类叫做接口类
其中的每个函数都是纯虚函数
查看全部 -
抽象类中的子类只有把所有的纯虚函数进行实现,子类才可以实例化对象
查看全部 -
抽象类无法实例化对象
查看全部 -
如果基类没有定义为虚函数,则delete 父类的时候,仅仅调用了父类的析构函数,子类的没有调用,如果在父类和子类的构造函数中都有动态内存分配,那么就会存在内存泄漏的问题。一般析构函数最好都写成虚函数,尤其是父类。
查看全部 -
处理异常的思想简单图
定义接口 父类捕获
查看全部 -
try
throw
catch
查看全部 -
typeid
查看全部 -
trypeid-----dybamic_cast
查看全部 -
A 只有函数声明没有函数定义的虚函数是纯虚函数。 B 含有纯虚函数的类叫做抽象类。 C 不可以使用含有纯虚函数的类实例化对象。 D 抽象类的子类也可以是抽象类
查看全部 -
1.普通函数不能是虚函数。 2.静态成员函数不能是虚函数。 3.内联函数不能是虚函数 4.构造函数不能是虚函数。
多态-->用父类指针指向子类对象-->delete 时只调用父类析构函数,需要用虚析构。
查看全部 -
void doSomething(Movable *obj)
{
obj->move();
if(typeid(*obj) == typeid(Bus) )
{
Bus *bus = dynamic_cast<Bus *>(obj); //obj是待转换的指针
bus->carry();
}
if(typeid(*obj) == typeid(Tank))
{
Tank *tank = dynamic_cast<Tank *>(obj); //obj是待转换的指针
tank->fire();
}
}
查看全部 -
函数throw一个异常,try可能发生错误的代码,catch异常并处理或者继续抛,Exception是一个异常父类实现多态
查看全部 -
Exception是一个父类,可以根据此来实现数据异常的多态
查看全部 -
try&catch可以一对多; 不建议使用catch(...)来catch所有异常
查看全部 -
RTTI : 运行时类型检测
Flyable是一个接口类,Bird继承Flyable,并多添加了foraging函数
红色标注的函数注意事项见后端视频
查看全部
举报