sdut 6-2 多态性与虚函数

sdut 6-2 多态性与虚函数

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

6-2 多态性与虚函数



Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描写叙述

通过本题目的练习能够掌握多态性的概念和虚函数的定义和用法
 
 
要求定义一个基类Pet,它有一个字符指针型数据成员name和一个虚成员函数Speak()用于输出pet的叫声。;派生类Dog和Cat从基类Pet派生而来。

他们从基类继承并又一次改写了speak()函数。分别用于输出Dog类和Cat类的叫声(详细输出内容參考演示样例输出)。要求利用虚函数技术编写代码,使得程序可以输出以下的内容。

输入

输出

输出数据共同拥有3行。本题目要求输出内容必须与演示样例中的同样。

演示样例输入


演示样例输出

How does a pet speak ?
I am a cat,My name is Tom My sound is miao!miao!
I am a dog,My name is Snoppy My sound is wang!wang!

提示

 

来源

 

#include <iostream>

using namespace std;

class Pet
{
public :
    virtual void speak()//定义虚函数
    {
        cout<<"How does a pet speak ?"<<endl;
    }
};

class Cat: public Pet
{
public :
    void speak ()
    {
        cout <<"I am a cat,My name is Tom My sound is miao!miao!"<<endl;
    }
};

class Dog : public Pet
{
public :
    void speak()
    {
        cout<<"I am a dog,My name is Snoppy My sound is wang!wang!"<<endl;
    }
};

int main()
{
    Pet p, *t;//定义Pet类对象的指针t
    Cat c;
    Dog d;

    t = &p;//t指针p
    t->speak();//调用p.speak功能

    t = &c;//t指针c
    t->speak();//调用c.speak功能

    t = &d;//t指针d
    t->speak();//调用d.speak功能

    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117887.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第15章节–开发SP2013工作流应用程序 总结

    BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第15章节–开发SP2013工作流应用程序 总结

    2021年12月15日
    65
  • android studio输出文字_androiditem长按删除

    android studio输出文字_androiditem长按删除用EditText实现textView长按复制效果,edittexttextview首先EditText是集成TextView的我们直接将?EditText设置为不可编辑来实现其中重点为:android:background=”@null”//背景设为null,去掉editText下划线android:textCursorDrawable=”@null”//游标设为null,去掉游…

    2022年9月29日
    1
  • 3.3v与5v电平转换_5v电压经过10位A/D转换

    3.3v与5v电平转换_5v电压经过10位A/D转换问题背景在设计一个带MCU或者ARM系统电路时候,经常遇见MCU的VCC是3.3V,但是外围电路需要5V,有时候是反过来。虽然现在MCU的IO都声称支持TTL电平,但是我们谁也不想将MCU的IO口直接接上5V,即使IO口先串联一个电阻,然后再接上5V,这样总是不放心,担心烧掉MCU。再说了,MCU声称IO口支持TTL电平,但是并不是所有的IO都是这样,反正有隐患。解决方法就是电平转换。具体的我只说我在实际项目中运用到的方法,而且在项目中运用比较方便的,其他的都不再说了。法一:基于门电路第一种:利用O

    2022年8月10日
    10
  • assertEquals 方法「建议收藏」

    assertEquals 方法「建议收藏」assertEquals  函数原型1:assertEquals([Stringmessage],expected,actual)参数说明:message是个可选的消息,假如提供,将会在发生错误时报告这个消息。  expected是期望值,通常都是用户指定的内容。actual是被测试的代码返回的实际值。  函数原型2:assertEquals([Stringmessa…

    2022年7月12日
    17
  • 实战DeviceIoControl 之中的一个:通过API訪问设备驱动程序

    实战DeviceIoControl 之中的一个:通过API訪问设备驱动程序

    2021年12月6日
    52
  • Java中数组的输入输出

    Java中数组的输入输出数组的输入首先声明一个int型数组int[]a或者inta[]给数组分配空间a=newint[10];和声明连起来就是int[]a=newint[10];或者是inta[]=newint[10];给数组赋值a[0]=1;//0代表的是数组的第1个元素,元素下标为0a[1]=1;//1代表的是数组的第2个元素,元素下标为0访问数组数据…

    2022年5月20日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号