Linux C++中多态性如何实现
作者:水悠悠予安
时间:2026-07-01
来源:正软商城
浏览:2
C++多态性通过虚函数与继承实现:基类声明虚函数,派生类重写。使用基类指针或引用调用时,实际执行对应派生类版本,此为运行期多态与动态绑定,使同一接口表现出不同行为。
本文目录
C++ 的多态性,说白了,就是让同一个接口能表现出不同的行为。这件事,在 C++ 里靠的是虚函数和继承这对搭档。基类先声明一个虚函数,派生类再把它重写一遍,然后你用基类的指针或引用去调它——调的是谁,跑的就是谁。听起来很神奇?其实核心步骤就那么几条,下面一个个拆开说。

第一步,搭个基类,在里面声明虚函数。虚函数就是用 virtual 关键字修饰的成员函数,它给了派生类一个“改写”的机会。
class Base {
public:
virtual void print() {
cout << "Base class print function" << endl;
}
};
第二步,搞几个派生类,把基类里的虚函数重新实现一遍。注意,函数签名必须一致,最好加上 override 让编译器帮你检查。
class Derived1 : public Base {
public:
void print() override {
cout << "Derived1 class print function" << endl;
}
};
class Derived2 : public Base {
public:
void print() override {
cout << "Derived2 class print function" << endl;
}
};
第三步,也是最关键的一步——用基类的指针或引用去操作派生类对象。这时候你虽然拿的是基类类型的“把手”,但实际指向的是派生类对象。通过这个指针调用虚函数,C++ 会在运行时根据对象的真实类型去派发调用。
int main() {
Base *basePtr;
Derived1 derived1;
Derived2 derived2;
basePtr = &derived1;
basePtr->print(); // 输出 "Derived1 class print function"
basePtr = &derived2;
basePtr->print(); // 输出 "Derived2 class print function"
return 0;
}
你看,同一个 basePtr,指向不同的派生类对象,调出的结果却不同。这就是多态性最直观的体现——用基类接口,执行派生类行为。理解了这个机制,后面再遇到虚函数表、动态绑定的概念,就不会觉得那么抽象了。
作者最新文章
动漫共和国在线观看地址及入口
2026-11-04 12:06
立刻MV如何查看立刻MV官方操作指引文档
2026-11-02 14:05
抖音创作平台官网登录入口
2026-11-02 10:38
Xshell连接SSH失败怎么办?5步排查网络、代理与认证问题
2026-10-30 14:30
樱花动漫官方正版官网入口在哪_樱花动漫网址2027最新分享
2026-10-28 19:21
上一篇:
Linux系统里C++如何进行数据加密
热门文章
更多
精品专题
更多
Mac软件
更多
火山引擎 网页版
Windows/ macOS/ Linux
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。









