C++学习,多态虚函数
多态字面意思是多种形态,当类之间存在层次结构,并且类之间是通过继承时,就会用到多态。多态允许通过基类指针或引用来调用派生类中的成员函数。这种机制允许函数,在运行时根据对象的实际类型来确定执行哪个函数,从而实现一个接口,多种实现的效果。
虚函数:
虚函数是实现多态性的基础,通过在基类中将成员函数声明为 virtual
,允许该函数在派生类中被重写(Override)。通过基类指针或引用来调用虚函数时,如果指针或引用实际上指向派生类对象,那么将调用派生类中的函数版本,这就是多态性的表现。
虚函数示例:
class Base {
public:
virtual void show() {
cout << "Base show()" << endl;
}
};
class Derived : public Base {
public:
void show() override { // C++11 中推荐使用 override 关键字明确指定为重写
cout << "Derived show()" << endl;
}
};
int main() {
Base* ptr = new Derived();
ptr->show(); // 输出 Derived show(),体现了多态性
delete ptr;
return 0;
}