#include <iostream>
using namespace std;
// 定义一个基类
class Animal {
public:
// 虚函数,用于实现多态
virtual void sound() {
cout << "Animal makes a sound" << endl;
}
};
// 派生类1
class Dog : public Animal {
public:
// 重写基类的虚函数
void sound() override {
cout << "Dog barks" << endl;
}
};
// 派生类2
class Cat : public Animal {
public:
// 重写基类的虚函数
void sound() override {
cout << "Cat meows" << endl;
}
};
int main() {
Animal* myAnimal;
Dog myDog;
Cat myCat;
myAnimal = &myDog;
myAnimal->sound(); // 输出: Dog barks
myAnimal = &myCat;
myAnimal->sound(); // 输出: Cat meows
return 0;
}
Animal 类是一个基类,包含一个虚函数 sound()。Dog 和 Cat 类继承自 Animal 并重写了 sound() 方法。main() 函数中,我们使用了基类指针 Animal* 来指向不同派生类的对象 (Dog 和 Cat)。当调用 sound() 方法时,实际调用的是派生类中重写的方法,这就是多态的体现。上一篇:c++爬虫
下一篇:c++ 字符串分割
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站