首页 > 其他分享 >郑莉cpp习题7-11

郑莉cpp习题7-11

时间:2024-03-12 20:01:41浏览次数:25  
标签:调用 fn2 fn1 void cpp 派生类 郑莉 习题 函数

代码

#include <iostream>
using namespace std;

class BaseClass{
public:
    void fn1();
    void fn2();
};

void BaseClass::fn1(){
    cout << "调用基类的函数 fn1()" << endl;
}

void BaseClass::fn2(){
    cout << "调用基类的函数 fn2()" << endl;
}

class DerivedClass : public BaseClass{
public:
    void fn1();
    void fn2();
};

void DerivedClass::fn1(){
    cout << "调用派生类的函数 fn1()" << endl;
}

void DerivedClass::fn2(){
cout << "调用派生类的函数 fn2()" << endl;
}

int main()
{
    DerivedClass aDerivedClass;
    DerivedClass *pDerivedClass = &aDerivedClass;
    BaseClass *pBaseClass = &aDerivedClass;
    aDerivedClass.fn1();
    aDerivedClass.fn2();
    cout << "--------------" << endl;
    pBaseClass->fn1();
    pBaseClass->fn2();
    cout << "--------------" << endl;
    pDerivedClass->fn1();
    pDerivedClass->fn2();
}

结果可见,把子类的对象的地址赋值给父类的指针,执行同名的函数体只会执行父类的

调用派生类的函数 fn1()
调用派生类的函数 fn2()
--------------
调用基类的函数 fn1()
调用基类的函数 fn2()
--------------
调用派生类的函数 fn1()
调用派生类的函数 fn2()

 

标签:调用,fn2,fn1,void,cpp,派生类,郑莉,习题,函数
From: https://www.cnblogs.com/uacs2024/p/18069110

相关文章

  • golang练习题
    看到一个网站,上面每天发布一道golang练习题,正好拿来练习,顺便整理记录下来。iota,类似枚举值,每个const从0开始计数 String方法相当于java里的toStringgolang处于安全考虑,对指针运算做了很多限制。map的value是不可以取地址的。 ......
  • cmd 的图论练习题(近期总结 2024.3.11)
    AGC010ERearranginglink题意:一个序列\(a_{1...n}\),两个人游戏。先手打乱这个序列,然后后手可以多次选择一对相邻的互质的数交换。先手希望最终序列字典序尽量小,后手则相反。两人都绝顶聪明,求最终序列。\(1\len\le2000,\space1\lea_i\le10^8\)考虑不互质的两个数\(a_i,a......
  • jsoncpp编译错误
    在Ubuntu下面编译jsoncpp的代码时候,爆出大量错误,/usr/include/x86_64-linux-gnu/sys/cdefs.h:41:20:error:missingbinaryoperatorbeforetoken"("#if__GNUC_PREREQ(4,6)&&!defined_LIBC^/usr/include/x86_64-linux-gnu/sys/cdefs.......
  • 郑莉cpp习题6-22 用递归算法翻转字符串s
    郑莉cpp习题6-22  用递归算法翻转字符串s#include<iostream>usingnamespacestd;#include<string>voidreverse(string&s,intleft,intright){chart;if(left<right){t=s[left];s[left]=s[right];s[right......
  • 郑莉cpp例6-22 浅层复制与深层复制
    浅层复制与深层复制浅层复制并没有形成真正的副本,存在两个对象共用同一块内存空间而导致执行析构函数时,该空间被两次释放,导致运行错误。深层复制则实现,复制之后,两个对象不互相影响。#include<iostream>usingnamespacestd;#include<cassert>classPoint{public:P......
  • 计算机操作系统(第四版)- 汤小丹 - 课后习题答案
    计算机操作系统(第四版)汤小丹课后习题答案第一章1.设计现代OS的主要目标是什么?答: (1)有效性  (2)方便性  (3)可扩充性  (4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS......
  • C++习题
    打印菱形 #include<iostream>usingnamespacestd;intmain(){cout<<"*"<<endl;cout<<"***"<<endl;cout<<"*"<<endl;return0;} 进制转换#include<iostream>#include<iomanip&g......
  • 肖SIR__数据库之存储过程 练习题__16.2
    实验一、实验要求:理解存储过程的概念掌握存储过程的语法格式、使用方法掌握存储过程的创建、执行二、实验前提:–droptableifexistsstudent;–Createtablestudent–(Idvarchar(255),#学号–Namevarchar(255),#姓名–Roomidvarchar(255),#班级–Sexchar(1),#......
  • 山东大学23强基班计算机导论第一次习题答案
    山东大学23强基班计算机导论第一次习题答案T1.#include<stdio.h>intmain(){printf("HelloWorld!");return0;}T2.#include<stdio.h>intmain(){printf("Programmingisfun.\nAndProgramminginCisevenmorefun!&qu......
  • 2024.3.7习题总结
    CF1288C题目可以把\(a\)数组和\(b\)数组的倒序合并,这样,题目就成了求出长度为\(2m\)的序列递增的方案数,\(dp\)求解可以把长度为\(2m\)的差分数组。对于任意一个\(c_i\),\(c_i\ge0,\sumc_i\len\),所以方案数为\(C_{n+2*m-1}^{2*m}\)CF1569C......