【无标题】

复制代码
#include <iostream>
using namespace std;

class Father
{
  public:
    Father() { A(); }
     void virtual A() { cout<<"Father::A()"<<endl; }
     void B() { cout<<"Father::B()"<<endl; A();}
};
class Son : public Father
{
  public:
    void A() { cout<<"Son::A()"<<endl; }
    void B() { cout<<"Son::B()"<<endl; }
};
int main()
{
  Father f;//father::A
  Son s;//father::a!!!
  Father *pf=&s;
  pf->A();
 
  pf->B();
  s.A();//son::a
  s.B();//son::b
}

关注到如果虚函数是在Father()的构造函数中,是不体现虚特性的,而在其它地方是体现的,比如关注void B()中的A()

相关推荐
橘白316几秒前
rl笔记(一):策略梯度更新算法推导
人工智能·算法·机器人·强化学习
hhhhhaaa1 分钟前
多节点矩阵式任务系统:统一配置中心与动态规则引擎架构设计
后端·算法·架构
qwert10373 分钟前
深入解析Python标识符:定义、规则、规范与实践指南
开发语言·数据库·python
cqwuliu10 分钟前
Freemarker模板工具
java·开发语言
学习,学习,在学习10 分钟前
Qt多线程的使用与注意事项
开发语言·数据库·qt
asdfg125896311 分钟前
`(line1, line2) -> line1 + line2` 此Lambda 表达式的理解
java·开发语言
吃着火锅x唱着歌11 分钟前
LeetCode 739.每日温度
算法·leetcode·职场和发展
如竟没有火炬13 分钟前
去除重复字母——贪心+单调栈
开发语言·数据结构·python·算法·leetcode·深度优先
小侯不躺平.18 分钟前
C++ Boost库【4】 --分词器的使用
c++·windows·microsoft
AI人工智能+电脑小能手22 分钟前
【大白话说Java面试题 第49题】【JVM篇】第9题:什么是双亲委派机制?介绍一下运作过程。?
java·开发语言·jvm