题目:声明一个基类BaseClass,从它派生出类DerivedClass,BaseClass有成员函数fn1()和fn2(),fn1()是虚函数,DerivedClass也有成员函数fn1()和fn2(),在主函数中声明一个DerivedClass的对象,分别用BaseClass和DerivedClass的指针指向DerivedClass的对象,并通过指针调用fn1()和fn2()。并画出类图。

 1 #include<iostream>
2 using namespace std;
3 //声明一个基类BaseClass
4 //虚函数为fn1()
5 class BaseClass
6 {
7 public:
8 virtual void fn1();
9 void fn2();
10 protected:
11
12 };
13 void BaseClass::fn1()
14 {
15 cout << "调用基类的虚函数" << endl;
16 }
17 void BaseClass::fn2()
18 {
19 cout << "调用基类的非虚函数" << endl;
20 }
21 //派生出类DerivedClass
22 class DerivedClass:public BaseClass
23 {
24 public:
25 void fn1();
26 void fn2();
27 private:
28
29 };
30 void DerivedClass::fn1()
31 {
32 cout << "调用子类fn1()函数" << endl;
33 }
34 void DerivedClass::fn2()
35 {
36 cout << "调用子类的fn2()函数" << endl;
37 }
38 int main()
39 {
40 DerivedClass d;//主函数中声明的derivedclass对象
41 DerivedClass* d1 = &d;
42 BaseClass* b1 = &d;
43
44 b1->fn1();
45 b1->fn2();
46
47 d1->fn1();
48 d1->fn2();
49 system("pause");
50 return 0;
51 }

运行截图

类图

学习笔记-C++的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

  10. ucos实时操作系统学习笔记——任务间通信(消息)

    ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...

随机推荐

  1. jQuery 使用手册(一)

    一:核心部分$(expr)说明:该函数可以通过css选择器,Xpath或html代码来匹配目标元素,所有的jQuery操作都以此为基础参数:expr:字符串,一个查询表达式或一段html字符串例子:未 ...

  2. -bash: ./mlnxofedinstall: /usr/bin/perl: bad interpreter: No such file or directory

    -bash: ./mlnxofedinstall: /usr/bin/perl: bad interpreter: No such file or directory 解决办法:安装相关的环境即可 输 ...

  3. 利用python中的win32com模块操作Word、Excel文件

    word操作 doc文件转换为docx文件 安装win32com模块:pip3 install pypiwin32 import os from win32com.client import Disp ...

  4. Oracle深入数据库体系结构_第三章文件

    构成数据库和实例的8种主要文件类型: 参数文件:(init file) 可以通过视图V$PARAMETER(show parameter)查看 跟踪文件 警告文件 数据文件 临时文件 控制文件 重做日 ...

  5. Nebula Exchange与集群guava版本不一致问题

    1.集群版本 Hadoop 3.1.1.3.1.4.0-315 Hive (version 3.1.0.3.1.4.0-315) Spark 2.3.2.3.1.4.0-315 Scala versi ...

  6. 群晖Video Station不支持部分视频的解释

    网络上都是替换ffmpeg插件的做法,无非就是替换了3个文件,然后再对其中一个文件进行修改. 然而在DSM7.0.1+VS3.0.2中,这个方法根本无用,最好的结果是之前无法播放的视频播放起来转圈圈而 ...

  7. Linux挂载tf卡空间

    https://blog.csdn.net/cao849861802/article/details/126039190

  8. 【闫式dp分析法】

  9. redis面试题汇总

    1redis持久化机制 redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化,当redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的 2缓 ...

  10. vue 数组对象去重

    unique(arr) {     const res = new Map();     return arr.filter((arr) => !res.has(arr.id) &&am ...