【无标题】

复制代码
#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()

相关推荐
写代码的【黑咖啡】1 分钟前
Python 中的 Requests 库:轻松进行 HTTP 请求
开发语言·python·http
BD_Marathon1 分钟前
MyBatis各种查询功能
java·开发语言·mybatis
研☆香3 分钟前
JavaScript 特点介绍
开发语言·javascript·ecmascript
Howrun7775 分钟前
虚幻引擎_AController_APlayerController_AAIController
开发语言·c++·游戏引擎·虚幻
曹牧12 分钟前
C#:ToDouble
开发语言·c#
小林rr13 分钟前
深入探索 C++:现代特性、工程实践与性能优化全解
java·c++·性能优化
Xの哲學14 分钟前
Linux 软中断深度剖析: 从设计思想到实战调试
linux·网络·算法·架构·边缘计算
袁袁袁袁满15 分钟前
Python读取doc文件打印内容
开发语言·python·python读取doc文件
暴风游侠18 分钟前
如何进行科学的分类
笔记·算法·分类
zcfeng53027 分钟前
PHP升级
开发语言·php