题目:声明一个基类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. java中获取指定日期是周几

    可以使用Calendar日历工具类获取,代码如下: Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); ...

  2. lua中定义变量用and和or连接

    原文链接 最近在写代码中看到lua定义变量有local a = value1 and value2的操作,有些疑问,在此记录一下:当连接两个操作数时,1.对于运算符and,假设它的第一个操作数为假,就 ...

  3. 最简单明了的yield from解释

    def one(): print('one start') res = yield from two() print('function get res: ', res) return 'one' + ...

  4. Qt实现collapsePanel(折叠)功能

    实践过程中,看到C#实现的CollapsePanel功能,比一般的TabWidget更加直观,充分利用了页面空间,遂感到很有兴趣,也查阅了很多资料搜索Qt在这方面的实现. 目前来说,比较常见的作法就是 ...

  5. Doris与mysql语法对照,差异篇

    ## SQL语法差异:### doris中不支持分组列再使用distinctMSYQL:```SQLselect DISTINCT mid from order_card_detail GROUP B ...

  6. TMP_InputField 理解

    一.输入框激活问题 public void ActivateInputField(); //激活输入框 public void DeactivateInputField(bool clearSelec ...

  7. impdp,depdp 常用参数

    转载于:https://www.cnblogs.com/halberd-lee/p/7807032.html 1 导数据注意事项 检查数据库版本(用于决定导出时生成为哪个版本的dmp头文件) sele ...

  8. scrollToFirstError失效解决方法

    ant design 使用 设置scrollToFirstError = true,表单验证失败后却没有滚动到第一个错误字段 解决方法: 在button按钮中加入 html-type = 'submi ...

  9. centos7 安装 elasticsearch 7.15

    下载 elasticsearch wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.2-linu ...

  10. 学习JavaScript第一周

    三种输出方式,console.log.element.write.alert(): 简单数据类型:数值型.字符串型.布尔类型.undefined.null 复杂数据类型:对象 数据类型的转换:字符串转 ...