当前位置: 首页 > news >正文

日常一水C

多态

言简意赅:就是一个对象面对同一事件时做出的不同反应

而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用,如下

#include<iostream>
using namespace std;class father
{
public:void show(){cout<<"This is father"<<endl;}
};class son:public father
{
public:void show(){cout<<"This is son"<<endl;}
};int main()
{son john;john.show();john.father::show();return 0;
}

这其实应该也算得上一种多态 

但是真正的多态中引用了一种名为虚函数的技艺:

关键字:virtual

通常情况下,虚函数被置于基类中被用于子类继承

关键字其二:override

该关键字作用是在编译时告诉编译器,当前函数的目的是覆盖基类中的虚函数

override有且仅能用于虚函数

两个关键字进行对比:

virtual用于声明该函数为虚函数

override用于声明该派生类函数覆盖虚函数

#include<iostream>
using namespace std;class Base {//父类带虚函数 
public:virtual void display() {cout << "Base display" << endl;}
};class Derived : public Base {//子类 
public:void display() override {//关键字override cout << "Derived display" << endl;}
};int main() {Base* ptr = new Derived();//父类指针 ptr->display(); // 输出 "Derived display",实现了多态delete ptr;return 0;
}

相关文章:

  • Java网络编程协议全面解析
  • 用hugging face共享的timm的模型报错:Unknown model
  • sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
  • NVIDIA CUDA 技术详解:开启 GPU 并行计算的大门
  • 【51单片机】外挂DAC和ADC芯片的使用
  • Pandas 可视化集成:数据科学家的高效绘图指南
  • 营销精英挑战赛主持稿串词
  • DAY 45 超大力王爱学Python
  • 线性DP(状态转移方程的创建)
  • 湖北理元理律师事务所:债务清偿方案中的法律技术革新
  • 深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
  • Flv与Rtmp
  • python打卡训练营打卡记录day49
  • SDC命令详解:使用set_wire_load_model命令进行约束
  • 最好的无线麦克风是那款?2025硬核测评西圣和飞利浦无线领夹麦克风
  • CCleaner Professional 下载安装教程 - 电脑清理优化工具详细使用指南
  • 2 Studying《Android源代码情景分析(罗升阳)》
  • 性能优化中,多面体模型基本原理
  • 易学探索助手-个人记录(十四)
  • 常见的Linux命令
  • 建设银行网站无法转账/开鲁视频
  • 怎样制作自己网站/网络口碑营销案例
  • 软件开发和编程的区别/电脑系统优化软件排行榜
  • 如何做一个自己的网站/网站建设多少钱
  • 黄江做网站/教育培训网站官网
  • 做爰视频免费安全的网站/bt磁力种子