OJ:一道考察多态的题目

Description

下面程序的输出结果是:

A::Fun

C::Do

程序代码

#include <iostream>
using namespace std;

class A {
    private:
        int nVal;
    public:
        void Fun()
        { cout << "A::Fun" << endl; }
        void Do()
        { cout << "A::Do" << endl; }
};

class B:public A {
    public:
        virtual void Do()
        { cout << "B::Do" << endl; }
};

class C:public B {
    public:
        void Do( )
        { cout << "C::Do" <<endl; }
        void Fun()
        { cout << "C::Fun" << endl; }
};

/* 括号内所填为该题答案 */
void Call(B& p)
{
    p.Fun();
    p.Do();
}

int main()
{
    C c;
    Call(c);

    return 0;
}

原文地址:https://www.cnblogs.com/GyForever1004/p/9157097.html

时间: 2024-11-08 23:13:31

OJ:一道考察多态的题目的相关文章

LeetCode OJ平台上Maximum Subarray题目O(n)复杂度解决方案

原始题目如下,意为寻找数组和最大的子串,返回这个最大和即可. Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example, given the array [?2,1,?3,4,?1,2,1,?5,4], the contiguous subarray [4,?1,2,1] has the largest sum = 6.

LeetCode OJ平台上Sort Colors题目算法探讨

原题如下,意思就是说无序数组(由0,1,2组成),一遍扫描,把数组整理成若干个0-若干个1-若干个2这样的序列. Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue. Here, we will use the integ

LeetCode OJ平台上Maximum Subarray题目O(n)复杂度解决方式

原始题目例如以下,意为寻找数组和最大的子串,返回这个最大和就可以. Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example, given the array [?2,1,?3,4,?1,2,1,?5,4], the contiguous subarray [4,?1,2,1] has the largest sum =

约瑟夫环问题,一道经典的数据结构题目

问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数.求胜利者的编号. 一般我们采用一个循环队列来模拟约瑟夫环的求解过程,但是如果n比较大的时候,采用模拟的方式求解,需要大量的时间来模拟退出的过程,而且由于需要占用大量的内存空间来模拟队列中的n个人,并不是一个很好的解法. 在大部分情况下,我们仅仅需要知道最后那个人的编号,而不是要来模拟一个这样的过程,在这种情况下,可以考虑是否存在着一种数学公式能够直接求出最后那个人的编号. 我们知道第一个人(编号

转换二进制数(这是一道竞赛形式的题目)。

1. 题目介绍 转换二进制数(这是一道竞赛形式的题目). 时限:3s输人文件: change.in 一串串太多太长的二进制数真是枯燥乏味,难怪小明看着看着就看花眼了;小亮看着看着就睡着了;小晶看着看着就恐慌起来了,仿佛自己变成了机器人,原本丰富多彩的世界一下子成了0和1的汪洋大海.他们一致要求将这些二进制数转换成十进制数,只有这样,心里才安稳,才痛快,睡觉才合得上眼. 这项工作自然就落到你的手里了,因为早就听说你是处理二进制数的高手了,一点也不怀疑你会一下子想出十七八种转换的方法,而且其中还有几

一道简单的动态规划题目——House Robber

一.题目 House Robber(一道Leetcode上的关于动态规划的简单题目)具体描述如下: There is a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent hous

一道有意思的JavaScript 题目

今天在网上看到一道题,觉得很有意思就把它抄下来解了.题目是这样的: 1 function Parent() { 2 this.a = 1; 3 this.b = [1, 2, this.a]; 4 5 this.c = { demo: 5 }; 6 this.show = function () { 7 console.log(this.a , this.b , this.c.demo ); 8 /* alert(this.b);*/ 9 } 10 } 11 function Child() {

一道考察数组知识的编程题

今天先贴代码,下次补上整体思路与后续优化 题目:假设有一个集合 ['foo', 'bar', 'hello', 'world'],求这个集合里单词组合起来的所有不同的结果. 1 let arr = ['foo', 'bar', 'hello', 'world'], 2 str = '', 3 newArr = [], 4 results = []; 5 6 for (let i = 0; i < 99; i++) { 7 newArr.push(arr.sort(() => { 8 retur

UPC OJ 一道水题 STL

Problem C: 字符串游戏 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 10  Solved: 3 [Submit][Status][Web Board] Description 说到游戏,大家还是比较喜欢的,但是玩游戏,如果想赢得对方还是得靠思维的,xy比较喜欢字符串,尤其是起始字母等于终止字母这样的字符串(the string's length must exceed one),但是呢,xy有个癖好,喜欢把每个字符重新分配一个值,喜欢