sdut 6-2 多态性与虚函数

sdut 6-2 多态性与虚函数

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

sdut 6-2 多态性与虚函数此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“”,获取验证码。在微信里搜索“”或者“”或者微信扫描右侧二维码都可以关注本站微信公众号。

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;
}

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 网站访问慢-MySQL负载高(实战)

    网站访问慢-MySQL负载高(实战)

  • python中modulenotfounderror_esxi安装报错

    python中modulenotfounderror_esxi安装报错1.下载安装包https://www.python.org/ftp/python/该目录下选择所需要的版本进行下载、解压。wgethttps://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgztar-xzvfPython-3.7.1.tgz2.二进制文件安装  1.创建存放目录mkdir/usr/l…

  • Java两整数相除向上取整

    Java两整数相除向上取整前言:Java中两个整数相除,如果不能整除,默认是向下取整的。例如:11除以3的结果是3。然而,某些情况下(eg.把11个糖果,每3个分一堆,不足三个也分成一堆,可以分几堆?),我们需要向上取整,这样的情况该如果处理呢?方式一:添加三目运算符逻辑代码x/y+(x%y!=0?1:0);这种方法逻辑上很简单,如果x可以整除y,就将x/y的结果加0,不能整除y就将x/y的结果加1。方式二:使用ceil函数(int)Math.ceil((double.

  • 字符串全排列cpp_输出字符串的全排列

    字符串全排列cpp_输出字符串的全排列String对象描述字符串是JavaScript的一种基本的数据类型String类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。需要注意的是:JavaScript的字符串是不可变的(immutable),String类定义的方法都不能改变字符串的内容。像String.toUpperCase()这样的方法,返回的是全新的字符串,而不是修改原始字符串。String对象属性属性描述constructor对创建该对象的函数的引用

    2022年10月30日
  • java拦截器的配置_Java 拦截器配置及使用「建议收藏」

    java拦截器的配置_Java 拦截器配置及使用「建议收藏」packagecom.panshi.ProjectInterceptor.Interceptor;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.stereotype.Component;importorg.springframework.util.StringUtils;importor…

  • vue 键盘事件keyup/keydoen

    vue 键盘事件keyup/keydoen使用:当你按下键盘,键盘的值为13的时候,将会执行show函数方法以上两种keyup和keyup.13方法是一样的,点击回车按键,就会执行alert方法一些便捷方式:@keyup.13回

发表回复

您的电子邮箱地址不会被公开。

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