#include <iostream>
class Base
{
public:
// 在父类方法中调用重写函数,若子类实现父类的方法,则会调用子类方法
void DoSomeThing()
{
SameFunc();
}
virtual void SameFunc()
{
std::cout << "parent" << std::endl;
}
};
class Devied : public Base
{
public:
void SameFunc()
{
std::cout << "child" << std::endl;
}
};
int main()
{
Base *base = new Devied();
// 通过父类函数调用虚函数来达到调用子类方法
base->DoSomeThing(); // expect child
// 父类指针调用重写函数
base->SameFunc();
}
相关推荐
MTK Linux DRM分析(十一)- MTK KMS Panel显示屏驱动
面板扩展(Panel Extension)是指 MediaTek 在标准 DRM 面板驱动框架之上添加的定制化功能模块。
c++父类调用子类的方法
方法一:虚函数使用 在c++中,父类和子类虚函数都有对应的虚函数表,如果子类重写了虚函数,就会将新写的这个函数的地址放到他自己的表内,并且通过父类的指针指向子类所开辟的空间,这样就可以调用子类的方法 方法二:强转转换 但是有的子类方法不是虚函数,这就必须要强转,将父类的指针指向子类的开辟空间的首地址, class Base; class Child: Base Base* Cba=new Child(); //相当于把基类Base的指针指向一个子类Chid开辟的对象,这个空间包含从Base继承 而来的和C
汇川EASY系列之以太网通讯(MODBUS_TCP做从站)
汇川easy系列PLC做MODBUS_TCP从站,,ModbusTCP服务器默认开启,无需设置通信协议(即不需要配置),端口号为“502”。ModbusTCP从站最多支持31个ModbusTCP客户端(ModbusTCP主站)同时连接。
使用函数指针实现父类函数调用子类函数的两种方式
本文将介绍如何在继承关系中实现父类函数调用子类函数的两种方法。
反激开关电源变压器设计实战:从理论到绕制的完整流程解析
本文详细解析了反激开关电源变压器的完整设计流程,从核心理论到实战绕制。文章以24W电源为例,手把手讲解如何根据输入输出电压、功率和频率等关键参数,计算匝比、峰值电流、电感量,并完成磁芯选择、匝数确定、气隙计算及线径选取。重点阐述了CCM模式下的设计要点与绕制工艺,旨在帮助工程师设计出稳定高效的反激变压器,避免常见陷阱。
在没有实验数据的情况下,如何高效快速发表高影响因子论文
最新基于Citespace、vosviewer、R语言的文献计量学可视化分析技术及全流程文献可视化SCI论文高效写作方法
C++特性之多态
不同的对象做相同的一件事会出现不同的状态,这就是多态。举个列子:比如普通人买车票要全价购买,而军人只用半价,这就是多态的一种体现。想要实现多态,需要以下条件通过基类的指针或者引用来调用子类对象的虚函数被调用的函数必须是虚函数虚函数:类成员函数前用virtual关键字修饰的函数我们可以实际看看如何实现多态。
金蝶云星空API实战:从零到一,用Postman打通业务数据流
本文详细介绍了如何使用Postman调试金蝶云星空API,从创建第三方应用到实战调试技巧,帮助开发者快速打通业务数据流。文章重点讲解了API配置的关键细节、常见问题排查方法以及自动化测试方案,提升开发效率与准确性。
C++类中子类和父类的接口相互调用
发现作为代码狗的我,时间久了,都快忘记了一些C++语言的基础知识,现在写篇文章记录一下,内容主要是涉及C++类的多态性,子类和父类的接口相互调用关系。3、在父类中调用子类多态性质的接口,方式是使用虚函数、加override实现,并给父类设置一个上下文。2、外部调用真实类的接口,方式是使用类的多态性实现,虚函数、加override实现。1、在子类中调用父类的接口(主要是重载接口),方式是父类::接口。
人工智能数据治理——解读AI时代数据治理白皮书 2025【附全文阅读】
摘要:该白皮书面向企业数字化负责人及AI项目推进人员,探讨AI时代数据治理的战略升级。提出"好数据+好数据知识"双基石理念,强调数据需满足"三高"标准(高精度、一致性、时效性)并构建语义知识库。构建四层治理框架,包括数据采集处理、合规安全、知识库建设及质量改进,并介绍AI赋能治理的新范式,如智能ETL和治理Agent体系。同时分析"软件+AI+好数据"的应用模式,为企业实现智能数据治理提供实践指导。(149字)
CDR插件开发之CPG插件004 - 认识VGCore并编译生成你的第一个CPG文件
上篇文章中,讲到了使用VS2019编译CDR类型库 VGCoreAuto.tlb,编译后得到了vgcoreauto.tlh和vgcoreauto.tli两个文件。本文将对这两个文件说明,并演示通过标准的libid形式来导入CDR类型库,在这个过程中,穿插一些VS2019的使用技巧(删除目录、复制工程、打开项目或解决方案、修改解决方案名称、修改项目名称等),使读者循序渐进,逐步提高对VS2019工具的熟练程度,最后通过修改项目属性配置,生成第一个CPG文件。
C++ | 子类对象调用父类函数
在C++中子类对象调用父类函数可通过域操作符(::)来实现,表明所调用函数的作用域。 //test.cc #include <iostream> using namespace std; class A { public: virtual void func() { cout <<" this is A" << endl; } }; class B : public A { public: virtual void func() { cout &l
YOLOv8 交通管理三大核心功能 —— 二、违章检测系统 详细解释及代码完整示例
YOLOv8交通违章检测系统
C++电脑组装项目(涉及知识点:多态,虚析构,使用父类指针和new关键字实例化子类时无法调用子类的析构函数,类的头文件和类的cpp文件的使用,父类中调用子类的析构函数)
【代码】C++电脑组装项目(涉及知识点:多态)
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
RU DOS版、EFI版32bit/64bit BIOS常用工具
DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。
c++ 子类调用父类有参构造函数
(1)多态性 在C++或者Java中,多态性的最大好处,以我目前粗浅的理解,是减少代码量。子类越多,越明显。 (2)构造函数的调用 FatherClass *pt = new ChildClass; 父类指针-->子类实例 , 首先调用父类无参构造函数,然后调用子类构造函数。 (3)如果子类构造函数无参数,一切都好办。但是,往往子类构造函数需要参数。那么应该怎么办呢? 可以这么写:子
visio安装包
Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。
c++基类和子类指针调用函数关系(非虚函数和虚函数)
第一种情况,当基类和子类中声明的是同名非虚函数时.调用关系如下 #include <iostream> using namespace std; #include <bits/stdc++.h> class AAA { public: void test1() { printf("This is AAA: test1()\n"); test2(); } void test2(){ printf(...
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
C++ 子类重写父类函数时调用父类函数方式
子类地址调用相同的父类接口
C++子类调用父类覆盖的函数
C++子类调用父类覆盖的函数 /* * main.cpp * C++子类调用父类覆盖的函数 */ #include class base { public: base(){} ~base(){} virtual void print() {printf("i'm base!\n");} };
在c++中,子类继承和调用父类的构造析构函数的原则
如果父类中只定义了有参构造,在子类实例化对象后是会出现err,调用不了父类无参构造(父类只定义有参构造,会屏蔽默认的无参构造),需要显性调用父类有参构造 如果没有显式的构造函数,编译器会给一个默认的构造函数,并且该默认的构造函数仅仅在没有显式地声明构造函数情况下创建。 构造原则如下: 1. 如果子类没有定义构造方法,则调用父类的无参数的构造方法。 2. 如果子类定义了构造方法,不论是无参数还是带...
C++ 通过基类函数,调用不同的子类函数
测试环境: Qt5.12 新建立一个子类,BaseClass 有函数 baseAction1 baseAction2, 具体实现如下: 再新建一个子类, 继承自BaseClass: 然后在main.cpp函数里: 查看输出: 如此, 当你有多个基类的时候, Derived1Class Derived2Class … 都可以通过调用 baseAction1 而调用对就不同子类的baseAction2函数 ...
c++继承(子类调用父类函数、全局函数)
#include #include using namespace std; //父类 class Parent { public: Parent(){}; void SetX(int x){m_x = x;}; void SetY(int y){m_y = y;}; ~Parent(){}; Private:
C++_子类和父类的构造函数的调用顺序
子类和父类的构造函数的调用顺序 当创建子类对象时, 构造函数的调用顺序: 静态数据成员的构造函数 -> 父类的构造函数 -> 非静态的数据成员的构造函数 -> 自己的构造函数 注意: 无论创建几个对象, 该类的静态成员只构建一次, 所以静态成员的构造函数只调用1次!!! #include <iostream> #include <Windows.h>...
C++子类初始化父类的构造函数调用总结
我们知道,构造方法是用来初始化类对象的。如果在类中没有显式地声明构造函数,那么编译器会自动创建一个默认的构造函数;并且这个默认的构造函数仅仅在没有显式地声明构造函数的情况下才会被创建。 构造函数与父类的其它成员(成员变量和成员方法)不同,它不能被子类继承。因此,在创建子类对象时,为了初始化从父类中继承来的成员变量,编译器需要调用其父类的构造函数。如果子类的构造函数没有显示地调用父类的构造函数...
C++虚函数的设计原理:为什么基类指针能调用子类函数?
两级间接访问:通过vptr -> vTable -> 函数地址实现动态跳转编译与运行时分工编译时:生成vTable运行时:通过vptr动态查表多态的本质:用相同的代码形式(基类指针)操作不同的具体实现现实类比把vTable看作餐厅菜单,vptr就是服务员手里的当前菜单。无论顾客(调用者)怎么点菜(调用虚函数),实际执行的总是当前菜单(对象实际类型)对应的菜品(具体实现)!
c++ 子类函数调用父类函数
知行合一 -- 王阳明 在多态中,假设子类重写了父类的虚函数,而在这个子类的虚函数中想要调一下父类的这个虚函数(因为父类的函数一般完成一些基本的功能),这时的调用方法: 父类名+ 域操作符号 + 函数。 class Base{ public: virtual func(){ } }; class A: public Base { public: virtual func(){ Base::func(); //.......
1687



被折叠的 条评论
为什么被折叠?



