Linux C++中多态如何实现
导读:在C++中,多态是通过虚函数(virtual function)和继承(inheritance)来实现的。多态允许我们使用基类的指针或引用来调用派生类的成员函数,从而实现动态绑定(dynamic binding)。 以下是一个简单的例子来说...
在C++中,多态是通过虚函数(virtual function)和继承(inheritance)来实现的。多态允许我们使用基类的指针或引用来调用派生类的成员函数,从而实现动态绑定(dynamic binding)。
以下是一个简单的例子来说明如何在C++中实现多态:
- 首先,创建一个基类
Base
,并声明一个虚函数print()
:
#include <
iostream>
class Base {
public:
virtual void print() {
std::cout <
<
"This is the Base class." <
<
std::endl;
}
}
;
- 然后,创建一个派生类
Derived
,并重写(override)基类中的虚函数print()
:
class Derived : public Base {
public:
void print() override {
std::cout <
<
"This is the Derived class." <
<
std::endl;
}
}
;
- 接下来,创建一个函数
showPrint()
,它接受一个基类指针作为参数,并调用print()
函数:
void showPrint(Base* obj) {
obj->
print();
}
- 最后,在
main()
函数中,创建一个基类对象和一个派生类对象,并使用基类指针调用showPrint()
函数:
int main() {
Base base;
Derived derived;
Base* ptr1 = &
base;
Base* ptr2 = &
derived;
showPrint(ptr1);
// 输出:This is the Base class.
showPrint(ptr2);
// 输出:This is the Derived class.
return 0;
}
在这个例子中,我们使用基类指针ptr1
和ptr2
分别指向基类对象base
和派生类对象derived
。当我们通过这些指针调用showPrint()
函数时,它会根据实际对象的类型(基类或派生类)来调用相应的print()
函数。这就是C++中的多态。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux C++中多态如何实现
本文地址: https://pptw.com/jishu/723008.html