在C++中,多态性(polymorphism)是一种面向对象编程的特性,允许不同的对象通过相同的接口调用不同的实现。多态性主要通过虚函数来实现,使得基类的指针或引用可以指向派生类的对象,并调用派生类的重写函数。
实现多态性的关键步骤
- 声明虚函数:在基类中声明虚函数。
- 重写虚函数:在派生类中重写虚函数。
- 使用基类指针或引用:通过基类指针或引用调用虚函数。
虚函数基类可以实现也可以不实现?
是的,基类中的虚函数可以选择实现,也可以不实现。在基类中声明虚函数但不提供实现,这种情况下,基类就成为一个抽象类,不能实例化。相反,如果基类提供了虚函数的实现,那么派生类可以选择使用基类的实现,或者重写虚函数。
#include <iostream>
using namespace std;
// 基类
class Base {
public:
// 声明虚函数
virtual void show() {
cout << "Base class implementation of show()" << endl;
}
// 虚析构函数,以便正确删除派生类对象
virtual ~Base() {}
};
// 派生类
class Derived : public Base {
public:
// 重写虚函数
void show() override {
cout << "Derived class implementation of show()" << endl;
}
};
int main() {
Base* b1 = new Base();
Base* b2 = new Derived();
// 调用虚函数
b1->show(); // 调用基类的实现
b2->show(); // 调用派生类的实现
// 释放内存
delete b1;
delete b2;
return 0;
}
标签:调用,函数,实现,基类,多态,笔记,c++,派生类,重写
From: https://blog.csdn.net/jacke121/article/details/139286664