C++之?虚函数
2024-01-08 21:01:43
虚函数是C++中的一个重要概念,它主要用于实现多态。在基类中声明一个虚函数,派生类可以重写这个函数,从而实现不同的功能。当基类指针或引用指向派生类对象时,调用虚函数会根据实际对象类型来调用相应的派生类中的函数实现,这就是多态的体现。
举例说明:
#include <iostream>
using namespace std;
?
// 基类
class Animal {
public:
// 虚函数
virtual void makeSound() {
cout << "Animal makes a sound" << endl;
}
};
?
// 派生类1
class Dog : public Animal {
public:
// 重写虚函数
void makeSound() override {
cout << "Dog barks" << endl;
}
};
?
// 派生类2
class Cat : public Animal {
public:
// 重写虚函数
void makeSound() override {
cout << "Cat meows" << endl;
}
};
?
int main() {
// 基类指针指向派生类对象
Animal* animalPtr = new Dog();
animalPtr->makeSound(); // 输出:Dog barks
?
delete animalPtr;
?
// 基类引用指向派生类对象
Animal& animalRef = *new Cat();
animalRef.makeSound(); // 输出:Dog barks
?
delete &animalRef;
system("pause");
return 0;
}
?
在这个例子中,基类Animal有一个虚函数makeSound(),派生类Dog和Cat分别重写了这个函数。当我们使用基类指针或引用指向派生类对象时,调用makeSound()会根据实际对象类型(即Dog或Cat)来调用相应的派生类中的函数实现。这就是虚函数实现多态的一个典型例子。
文章来源:https://blog.csdn.net/T20151470/article/details/135464853
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!