面试题答案
一键面试#include <iostream>
// 基类Shape
class Shape {
public:
// 虚函数draw
virtual void draw() const {
std::cout << "Drawing a shape." << std::endl;
}
};
// 派生类Circle继承自Shape
class Circle : public Shape {
public:
// 重写draw函数
void draw() const override {
std::cout << "Drawing a circle." << std::endl;
}
};
虚函数的作用:
- 在基类中定义虚函数,为派生类提供一个统一的接口。使得通过基类指针或引用调用函数时,能够根据对象的实际类型来决定调用哪个函数版本,实现多态性。
函数重写的作用:
- 派生类通过重写基类的虚函数,实现适合自身的特定行为。在这个例子中,
Circle
类重写draw
函数,实现了圆形绘制的具体逻辑,既复用了基类的接口,又有自己独特的实现,增强了代码的灵活性和可扩展性。