2960: 改错题--小鼠标,你要干什吗?

时间限制: 1 Sec  内存限制: 128 MB

提交: 118  解决: 62

题目描述

鼠标双击不同的图标产生不同的效果,比如双击文档(document)文件,则打开文档文件;双击图形(graphics)文件,则显示图形;双击视频(video)文件,则播放视频。下面程序是鼠标的双击三种文档、图形和视频类型文件的程序。

注:本题只需要提交修改和完善部分的代码,请按照C++方式提交。

#include <string>

#include <iostream>

using namespace std;

/* 修改和完善该部分代码

class Filetype

{

public:

void DoubleClick() =0;

    virtual Filetype(string name)

    {

        Filename = name;

    }

    string getFilename()

    {

        return Filename;

    }

    virtual ~Filetype() {}

private:

    string Filename;

};

*/

class Documenttype:public Filetype

{

public:

    void DoubleClick()

    {

        cout<<"Document file :"<< getFilename()<<endl;

    }

    Documenttype(string name):Filetype(name)

    {

    }

};

class Graphicstype:public Filetype

{

public:

    void DoubleClick()

    {

        cout<<"Graphics file :"<< getFilename()<<endl;

    }

    Graphicstype(string name):Filetype(name)

    {

    }

};

class Videotype:public Filetype

{

public:

    void DoubleClick()

    {

        cout<<"Video file :"<< getFilename()<<endl;

    }

    Videotype(string name):Filetype(name)

    {

    }

};

int main()

{

    string name;

    Filetype *ptype;

    cin>>name;

    ptype=new Documenttype(name);

    ptype->DoubleClick();

    delete ptype;

    cin>>name;

    ptype=new Graphicstype(name);

    ptype->DoubleClick();

    delete ptype;

    cin>>name;

    ptype=new Videotype(name);

    ptype->DoubleClick();

    delete ptype;

    return 0;

}

输入

输入有3行

第一行是一个文档文件名,第二行是一个图形文件名,第三行是一个视频文件名

输出

第一行输出Document file :文档文件名

第二行输出Graphics file :图形文件名

第三行输出Video file :视频文件名

样例输入

a.txt
b.bmp
c.mp4

样例输出

Document file :a.txt
Graphics file :b.bmp
Video file :c.mp4

你  离  开  了  ,  我  的  世  界  里  只  剩  下  雨  。  。  。

#include <string>
#include <iostream>
using namespace std;
class Filetype
{
public:
virtual void DoubleClick() =0;
Filetype(string name)
{
Filename = name;
}
string getFilename()
{
return Filename;
}
virtual ~Filetype() {}
private:
string Filename;
};
class Documenttype:public Filetype
{
public:
void DoubleClick()
{
cout<<"Document file :"<< getFilename()<<endl;
}
Documenttype(string name):Filetype(name){}
};
class Graphicstype:public Filetype
{
public:
void DoubleClick()
{
cout<<"Graphics file :"<< getFilename()<<endl;
}
Graphicstype(string name):Filetype(name){}
};
class Videotype:public Filetype
{
public:
void DoubleClick()
{
cout<<"Video file :"<< getFilename()<<endl;
}
Videotype(string name):Filetype(name){}
};
int main()
{
string name;
Filetype *ptype;
cin>>name;
ptype=new Documenttype(name);
ptype->DoubleClick();
delete ptype;
cin>>name;
ptype=new Graphicstype(name);
ptype->DoubleClick();
delete ptype;
cin>>name;
ptype=new Videotype(name);
ptype->DoubleClick();
delete ptype;
return 0;
}

YTU 2960: 改错题--小鼠标,你要干什吗?的更多相关文章

  1. YTU 2844: 改错题A-看电影

    2844: 改错题A-看电影 时间限制: 1 Sec  内存限制: 128 MB 提交: 69  解决: 47 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交. 小平家长为 ...

  2. YTU 2580: 改错题----修改revert函数

    2580: 改错题----修改revert函数 时间限制: 1 Sec  内存限制: 128 MB 提交: 194  解决: 82 题目描述 修改revert函数,实现输入N个数,顺序倒置后输出 #i ...

  3. YTU 2838: 改错题AB-装置连接

    2838: 改错题AB-装置连接 时间限制: 1 Sec  内存限制: 128 MB 提交: 81  解决: 49 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交. 有AB ...

  4. YTU 2639: 改错题:类中私有成员的访问

    2639: 改错题:类中私有成员的访问 时间限制: 1 Sec  内存限制: 128 MB 提交: 431  解决: 297 题目描述 /* 改错题: 设计一个日期类和时间类,并编写全局函数displ ...

  5. YTU 2610: A改错题--体检情况分析

    2610: A改错题--体检情况分析 时间限制: 1 Sec  内存限制: 128 MB 提交: 233  解决: 161 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交. ...

  6. YTU 2609: A改错题--学生信息的输入和输出

    2609: A改错题--学生信息的输入和输出 时间限制: 1 Sec  内存限制: 128 MB 提交: 238  解决: 157 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方 ...

  7. YTU 2955: A改错题--销售部的打印机

    2955: A改错题--销售部的打印机 时间限制: 1 Sec  内存限制: 128 MB 提交: 61  解决: 47 题目描述 销售部新进了一台快速打印机,使用频率很高.为了能够对打印情况进行统计 ...

  8. YTU 2954: A改错题--是虫还是草

    2954: A改错题--是虫还是草 时间限制: 1 Sec  内存限制: 128 MB 提交: 83  解决: 55 题目描述 冬虫夏草为虫体与菌座相连而成,冬天是虫子,夏天却是草.根据类生物(bio ...

  9. YTU 2622: B 虚拟继承(虚基类)-沙发床(改错题)

    2622: B 虚拟继承(虚基类)-沙发床(改错题) 时间限制: 1 Sec  内存限制: 128 MB 提交: 487  解决: 393 题目描述 有一种特殊的床,既能当床(Bed)用又能当沙发(S ...

随机推荐

  1. Apollo配置中心的使用

    1. 自己搭建Apollo配置中心 碰到如下错误: nested exception is org.hibernate.HibernateException: Access to DialectRes ...

  2. .NET Core 文件的上传与下载

    1.前言 文件导入导出是简单且常用的功能,以下示例实现了文件上传与下载的几种方法,如有不妥的地方,欢迎指正.小白一枚,在往目标前进. 2.1.文件上传    --    纯文件 <form ac ...

  3. window查看哪些端口被占用命令

    管理员方式运行cmd netstat -n

  4. hdu 4801模拟题

    /* 模拟: 注意:实质上一次魔方的一半要变化 用c++超内存 用g++过了 */ #include<stdio.h> #include<string.h> #include& ...

  5. sencha architect开发sencha touch应用注意事项

    以下说明文字针对sencha architect v2.2.2 一.无限期试用 1. 下载地址: http://www.sencha.com/products/architect/download/ ...

  6. Android视图组成View

    视图组成View 创建时间: 2013-9-13 10:51 更新时间: 2013-9-13 11:04

  7. 【永久激活,视频教程,超级详细】IntelliJ idea 2018.3安装+激活+汉化

    简介 IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构. ...

  8. FM算法及FFM算法

    转自:http://tech.meituan.com/deep-understanding-of-ffm-principles-and-practices.html http://blog.csdn. ...

  9. Android中的图片查看器

    本案例,使用Eclipse来开发Android2.1版本号的图片查看器. 1)首先,打开Eclipse.新建一个Android2.1版本号的项目ShowTu,打开res/values中文件夹下的str ...

  10. 【Mongodb教程 第十二课 】PHP mongodb 的使用

    mongodb 不用过多的介绍了,NOSQL的一种,是一个面向文档的数据库,以其方便灵活的数据结构,对于开发者来说是比较友好的,同时查询的速度也是比较快的,现在好多网站 开始使用mongodb ,具体 ...