C++中没有super或parent关键字,想要调父类方法,只能使用明确的[父类名称::方法名]

假如要求A和B是C的父类的前提下,要使如下代码能够分别输出A和B的相关信息(虽然这个要求很少遇到....,但是面试官就是这么变态)

int main(int argc, char* argv[])
{C c;A* pA = &c;B* pB = &c;pA->foo();  //这里会输出和A相关的信息pB->foo();  //这里会输出和B相关的信息return 0;
}

 怎么办?

// test.cpp : Defines the entry point for the console application.
//#include "stdafx.h"
#include <iostream>using namespace std;class A
{
public:virtual void foo() {cout<<"A::foo()"<<endl;}
protected:
private:
};class B
{
public:virtual void foo() {cout<<"B::foo()"<<endl;}
protected:
private:
};class MidA:public A
{
public:virtual void fooCA() {};virtual void foo(){A::foo();}
protected:
private:
};class MidB:public B
{
public:virtual void fooCB() {};virtual void foo(){B::foo();}
protected:
private:
};class C:public MidA, public MidB
{};
int main(int argc, char* argv[])
{printf("Hello World!\n");C c;A* pA = &c;B* pB = &c;pA->foo();  //这里会输出和A相关的信息pB->foo();  //这里会输出和B相关的信息return 0;
}

  

转载于:https://www.cnblogs.com/yangyh/p/3373252.html

C++多重继承时调用相应的父类函数相关推荐

  1. c语言 调用父类方法,关于C++:如何从派生类函数调用父类函数?

    如何调用C++派生类中的父函数?例如,我有一个名为parent的类,还有一个名为child的类,它是从父类派生的.内每个类都有一个print函数.在定义孩子的打印函数时,我想调用家长的打印函数.我该怎 ...

  2. python子类如何调用父类方法_python中子类调用父类函数的方法示例

    前言 本文主要给大家介绍了关于python子类调用父类函数的相关内容,Python中子类中的__init__()函数会覆盖父类的函数,一些情况往往需要在子类里调用父类函数.下面话不多说了,来一起看看详 ...

  3. 【Groovy】集合遍历 ( 集合中有集合元素时调用 flatten 函数拉平集合元素 | 代码示例 )

    文章目录 一.集合中有集合元素时调用 flatten 函数拉平集合元素 二.完整代码示例 一.集合中有集合元素时调用 flatten 函数拉平集合元素 在上一篇博客 [Groovy]集合遍历 ( 操作 ...

  4. 子类super调用父类函数,该函数中调用的函数是父类还子类呢

    如图所示: 子类对象通过super()函数调用父类的run函数,然后直接调用了子类的demo函数,而没有调用父类的函数:猜想通过super调用父类,但self仍然代表是子类本身: 再看一例: 从这里说 ...

  5. 调用未绑定的父类方法和使用supper 函数 之间的选择.

    class New_int(int): # 定义一个新的类 继承 int 类def __add__(self,other): # 重写 + 运算符 # __add__ 就是 int 中 + 的行为re ...

  6. Python多重继承时属性的调用顺序

    使用多重继承时,属性的解析会变得非常复杂,因为可以使用很多搜索路径来绑定属性.在查找使用了多重继承的属性时,会将所有基类按从"最特殊"的类型到"最不特殊"的类这 ...

  7. gdb调试时调用函数、设置观察点以及GDB的宏

    Table of Contents 调试时调用函数 观察点 GDB宏 调试是一项复杂的任务.开发人员大部分时间都花在调试上,因此熟悉许多调试工具很重要 在Linux中,本机调试器是GDB,它是基于命令 ...

  8. C++(6)——子类调用父类函数实现

    C++(6)--子类调用父类函数实现 在C++中子类对象调用父类函数可通过域操作符(::)来实现,表明所调用函数的作用域. #include<iostream>using namespac ...

  9. 单相逆变器S函数仿真,控制算法采用 S函数编写,在模型运行时调用S函数。 逆变器输出电压品质非常高

    单相逆变器S函数仿真,控制算法采用 S函数编写,在模型运行时调用S函数. 逆变器输出电压品质非常高! ID:1765668638115213幸福生活

最新文章

  1. 【18】让接口容易被正确使用,不易被误用
  2. python运行空白_执行时空白tkinter窗口
  3. 【boost】time.1 同步计数器
  4. DeFi衍生品协议dFuture未来5日将通过公测奖励100万枚DFT
  5. spring+hibernate:在applicationCOntext.XML中配置C3P0参数说明
  6. 猿辅导(实习800/天)面试算法题详解
  7. 剔除水印软件Inpaint 7.2 中文破解版 微笑一刀作品
  8. MATLAB画qpsk的矢量图,matlab仿真QPSK.doc
  9. 【数据分析】销售案例分析——分解目标
  10. 布隆过滤器学习笔记——《Learned Bloom Filters in Adversarial Environments:A Malicious URL Detection Use-Case》
  11. AMD显卡性能测试软件,谁更适合Win7?AMD与NVIDIA显卡性能对比
  12. 2016年计算机视觉机器学习领域国内重要会议 汇总 (持续更新)
  13. 悲痛!长安福特AE工程师之死:985高校吉大毕业,入职8年,年仅30岁抑郁跳楼身亡...
  14. Niagara N4 与物联网的学习经验分享(一 New Station)
  15. Windows服务优化(整理篇)
  16. 10-93 spj-查找在同一个城市的所有工程项目
  17. 一个神奇的分布式计算框架:jini
  18. css解决 多张图片如何统一大小 且没拉伸问题
  19. 【单片机】唯一设备ID UID固件加密
  20. 1--if中的return的作用/条件判断中如何退出函数

热门文章

  1. rpc wmi 服务不可用_在Windows上修复“RPC服务器不可用”的方法
  2. linux ipc shmget 例子,Linux IPC之共享内存C 事例(示例代码)
  3. 修改docx表格_实例29_在Word表格中将上下行相同内容的单元格自动合并
  4. 编译ffmpeg出现 librtmp not found using pkg-config
  5. vjudge-Knight Moves(bfs)
  6. linux下无权限安装anaconda和tensorflow-gpu
  7. 转:卷积神经网络_(1)卷积层和池化层学习
  8. 百面机器学习 #2 模型评估:03 余弦距离和余弦相似度、欧氏距离
  9. The constructor someMethod() is not accessible due to restriction on required library
  10. Python自动化运维开发----基础(十二)函数