阅读量:0
在C++中,基类实现多态的关键是通过虚函数和纯虚函数。多态性允许不同的子类对象使用相同的基类指针或引用来调用不同的子类方法。
- 虚函数:在基类中使用virtual关键字声明一个函数为虚函数。当派生类重写这个虚函数时,基类指针或引用调用这个函数时会根据指向的对象类型来执行相应的函数。
class Base { public: virtual void display() { cout << "Base class" << endl; } }; class Derived : public Base { public: void display() override { cout << "Derived class" << endl; } };
- 纯虚函数:基类中如果包含纯虚函数(纯虚函数是没有实现体的虚函数),则该基类变为抽象类,不能被实例化,只能用作基类。派生类必须实现这个纯虚函数,否则也会成为抽象类。
class Base { public: virtual void display() = 0; }; class Derived : public Base { public: void display() override { cout << "Derived class" << endl; } };
通过使用虚函数和纯虚函数,基类可以实现多态性,使得不同的派生类对象可以通过基类指针或引用来调用相应的函数,从而实现多态。