【C++】抽象基类和纯虚函数
抽象基类和纯虚函数
不能被实例化的基类被称为抽象基类,这样的基类只有一个用途,那就是用它来派生出其他类,可使用纯虚函数的声明来创建纯虚函数。纯虚函数在虚函数表中不指向任何函数成员。
值得注意的是:声明抽象基类后 1. 派生类必须声明相应的方法;2. 不能再对这个基类实例化
附上一个Shape, Circle,Triangle的例子:
【C++】RTTI
如果我有一个父类 Flyable,还有两个子类 Bird和Plane,有一个函数 doSomething,它的形参是一个Flyable指针,如果我想在程序中判断,这个指针指向的到底是Bird还是Plane,那我可以用typeid来判断,判断过后还可以用dynamic_cast,把这个指针转化为相应类型。