C++ 继承与多态:从基础到实践
在 C++ 编程中,继承和多态是非常重要的概念,它们能够帮助我们更高效地组织代码,提高代码的复用性和可维护性。下面将详细介绍相关的知识点和实践方法。
1. 调用基类构造函数
当需要向基类构造函数传递特定值时,能够调用基类构造函数是很有用的。
2. 声明虚基类成员函数
如果期望在派生类中重写某个继承的基类成员函数,应该使用 virtual
关键字将其声明为虚函数。例如,在基类 Enemy
中,因为知道会在派生类 Boss
中重写 Taunt()
函数,所以将其声明为虚函数:
void virtual Taunt() const;
//made virtual to be overridden
需要注意的是,虽然可以重写非虚成员函数,但这可能会导致意外的行为。一个好的经验法则是,将所有需要重写的基类成员函数声明为虚函数。在定义成员函数时,不需要使用 virtual
关键字,只在声明时使用。一旦一个成员函数被声明为虚函数,在任何派生类中它都是虚函数。在派生类中重写虚函数时,虽然可以不使用 virtual
关键字,但建议使用,这样可以提醒自己该函数确实是虚函数。例如在 Boss
类中重写 Taunt()
函数: