已采纳回答 / onemoo
不加virtual,这个函数就不是虚函数,也就不会被子类继承。在子类中重新定义这函数,只能算是子类又定义了一个同名的函数,不会有多态的特性。即通过父类只能访问到父类的版本。
2015-12-23
已采纳回答 / onemoo
哦,Flyable这是个纯虚的基类,这种类是不能实例化的,只能通过此种类型的指针来访问派生类。在调用函数时,函数的参数会被构造出来,所以参数也不能直接声明为这种类型,声明成指针就没问题。
2015-12-11
已采纳回答 / onemoo
从C++语言的角度来说,这就是虚函数的功能,你只需记住即可。如果你深究原因,这和语言的实现有关,大部分平台和编译器都是借助“虚函数表”来实现的,你搜搜这个东西就能明白。 不过你也要知道:C++并没有强制要求用虚函数表来实现多态,C++标准只是规定了行为,并没有规定具体实现方式。
2015-11-27
已采纳回答 / onemoo
这是构造函数的“构造初始化列表”。可以把需要在构造时初始化的成员变量写在这里,括号中是它们的初值,有多个变量就用逗号隔开。也可以写上父类的构造函数,这样可以在构造时按照你提供的参数将父类构造出来。上面这些会在本构造函数执行前构造完成。你这里应该就是父类的构造函数,Plane(code),括号中code就是调用参数。
2015-09-21