#include <iostream>
using namespace std;
// 定义一个基类
class Animal {
public:
// 虚函数,用于多态
virtual void makeSound() const {
cout << "Some animal makes a sound" << endl;
}
};
// 派生类1
class Dog : public Animal {
public:
void makeSound() const override {
cout << "Dog barks" << endl;
}
};
// 派生类2
class Cat : public Animal {
public:
void makeSound() const override {
cout << "Cat meows" << endl;
}
};
int main() {
Animal* myAnimal = new Animal(); // 基类对象
Animal* myDog = new Dog(); // 派生类对象
Animal* myCat = new Cat(); // 派生类对象
// 多态调用
myAnimal->makeSound();
myDog->makeSound();
myCat->makeSound();
// 释放内存
delete myAnimal;
delete myDog;
delete myCat;
return 0;
}
Animal
:定义了一个虚函数 makeSound()
,该函数在派生类中可以被重写。Dog
和 Cat
:分别重写了基类的 makeSound()
函数,实现了不同的行为。new
分配的对象需要使用 delete
释放,以避免内存泄漏。上一篇:菜鸟c++
下一篇:c++编程代码
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站