第13周 看代码答题-1

#include <iostream>
using namespace std;
class Vehicle  //交通工具
{
public:
    void run() const
    { cout << "run a vehicle. "<<endl;  }
};
class Car: public Vehicle  //汽车
{
public:
    void run() const
    { cout << "run a car. "<<endl; }
};
class Airplane: public Vehicle  //飞机
{
public:
    void run() const
    { cout << "run a airplane. "<<endl; }
};
int main()
{
    cout<<"(a) 直接用对象访问成员函数: "<<endl;
    Vehicle v;
    v.run();
    Car car;
    Airplane airplane;
    car.run();
    airplane.run();
    cout<<"(b)用指向基类的指针访问成员函数: "<<endl;
    Vehicle *vp;
    vp=&car;
    vp->run();
    vp=&airplane;
    vp->run();
    return 0;
}

运行结果:

请回答:当基类的指针指向派生类时,用指针调用同名成员函数,执行的是基类的成员函数,还是派生类的成员函数?为什么会这样?

派生类

因为积累指针没有权限访问派生类新的成员函数

时间: 2024-10-21 18:13:09

第13周 看代码答题-1的相关文章

第13周 读代码答题-2

#include <iostream> using namespace std; class Vehicle { public: virtual void run() const { cout << "run a vehicle. "<<endl; } //(2) run()为虚函数 }; class Car: public Vehicle //汽车 { public: void run() const { cout << "r

第13周 读程序答题-3

#include <iostream> using namespace std; class Vehicle{ public: virtual void run() const = 0; //(3) run()为纯虚函数,const意指其为常成员函数,并非纯虚函数之必要 }; class Car: public Vehicle //汽车 { public: void run() const { cout << "run a car. "<<endl;

2017-2018-1 20155210 《信息安全系统设计基础》第13周学习总结

2017-2018-1 20155210 <信息安全系统设计基础>第13周学习总结 找出全书你认为最重要的一章,深入重新学习一下 完成这一章所有习题 详细总结本章要点 给你的结对学习搭档讲解你的总结并获取反馈 教材学习内容总结 8.1 异常 异常就是控制流中的突变,用来响应处理器状态中的某些变化 8.1.1 异常处理 系统中可能的每种类型的异常都分配了一个唯一的非负整数的异常号. 处理器:被零除.缺页.存储器访问违例.断点以及算术溢出 操作系统:系统调用和来自外部I/O设备的信号 8.1.2异

学习进度条十二(第13周)

  第13周 所花时间 30h 代码量 420行 博客量 3篇 了解到的知识点 1.利用txt文件解决登录界面记住密码的问题. 2.利用javaFX实现内嵌浏览器,不过有几个bug未解决. 3.了解了java中Runnable线程问题,不同的线程处理会导致程序的执行顺序不同. 4.解决程序运行后关闭窗口还占用内存的问题,利用窗口关闭的监听事件,在窗口关闭时销毁内存.

20145239 《信息安全系统设计基础》第13周学习总结

20145239 <信息安全系统设计基础>第13周学习总结 本周代码实践 hello_multi.c 先打印world换行打印hello,间隔1秒再打印相同内容,一共打印5次,最后输出t1,t2 finished hello_multi1.c hello_single.c 打印一个hello,之后每间隔1秒打印一 个hello,共5个:然后打印一个world并换行,之后每间隔1秒打印一个world,共5个 incprint.c 在屏幕上换行输出count=1,2,3,4,5,间隔1秒 twor

2017-2018-1 20155314 《信息安全系统设计基础》第13周学习总结

2017-2018-1 20155314 <信息安全系统设计基础>第13周学习总结 学习目标 找出全书你认为最重要的一章,深入重新学习一下,要求(期末占10分): 完成这一章所有习题 详细总结本章要点 给你的结对学习搭档讲解你的总结并获取反馈 第6章学习要点: 了解常见的存储技术(RAM.ROM.磁盘.固态硬盘等) 理解局部性原理 理解缓存思想 理解局部性原理和缓存思想在存储层次结构中的应用 高速缓存的原理和应用 本章要点详细总结 第6章 存储器层次结构 6.1 存储技术 6.1.1 随机访问

2017-2018-1 20155332 《信息安全系统设计基础》第13周学习总结

2017-2018-1 20155332 <信息安全系统设计基础>第13周学习总结 学习目标 找出全书你认为最重要的一章,深入重新学习一下,要求(期末占10分): 完成这一章所有习题 详细总结本章要点 给你的结对学习搭档讲解你的总结并获取反馈 本章知识点总结 我们需要理解基本的客户端-服务端编程模型,以及如何编写使用因特网提供的服务的客户端-服务端程序. 最后,我们将把所有这些概念结合起来,开发一个小的但功能齐全的Web服务器,能够为真实的Web浏览器提供静态的和动态的文本和图形内容. 11.

2017-2018-1 20155305 《信息安全系统设计基础》第13周学习总结

2017-2018-1 20155305 <信息安全系统设计基础>第13周学习总结 学习目标 找出全书你认为最重要的一章,深入重新学习一下,要求(期末占10分): 完成这一章所有习题 详细总结本章要点 给你的结对学习搭档讲解你的总结并获取反馈 课后习题 10.1 运行练习题10.1时,一开始运行结果是fd=-1,不是应该出现的正确结果fd=3 解决方法:之前学习课本open函数时,如果返回值是-1的话说明打开出错,只有打开成功,返回值为新文件描述符(返回的描述符总是在进程中当前没有打开的最小描

20155236 《信息安全系统设计基础》第13周学习总结

20155236 <信息安全系统设计基础>第13周学习总结 网络编程 套接字接口概述: 并发编程 并发:逻辑控制流在时间上重叠 并发程序:使用应用级并发的应用程序称为并发程序. 三种基本的构造并发程序的方法: 进程,用内核来调用和维护,有独立的虚拟地址空间,显式的进程间通信机制. I/O多路复用,应用程序在一个进程的上下文中显式的调度控制流.逻辑流被模型化为状态机. 线程,运行在一个单一进程上下文中的逻辑流.由内核进行调度,共享同一个虚拟地址空间. 基于进程的并发编程 构造并发程序最简单的方法