在Java中,
virtual除非您声明了所有方法,否则默认情况下所有方法都是默认方法
final。在C
++中,这是另一回事:您需要显式声明方法
virtual。为了使它们成为纯虚拟的,您需要将它们“初始化”为0
:-)如果您的类中有纯虚拟的方法,它将自动变为抽象-没有显式关键字。
在C ++中,您应该(几乎)始终为基类定义析构函数
virtual,以避免棘手的资源泄漏。因此,我将其添加到以下示例中:
// GameObject.hclass GameObject{public: virtual void update() = 0; virtual void paint(Graphics g) = 0; virtual ~GameObject() {}}// Player.h#include "GameObject.h"class Player: public GameObject{public: void update(); void paint(Graphics g);}// Player.cpp#include "Player.h"void Player::update(){ // ...}void Player::paint(Graphics g){ // ...}


