YTU 2960: 改错题--小鼠标,你要干什吗?
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;
}
#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: 改错题--小鼠标,你要干什吗?的更多相关文章
- YTU 2844: 改错题A-看电影
2844: 改错题A-看电影 时间限制: 1 Sec 内存限制: 128 MB 提交: 69 解决: 47 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交. 小平家长为 ...
- YTU 2580: 改错题----修改revert函数
2580: 改错题----修改revert函数 时间限制: 1 Sec 内存限制: 128 MB 提交: 194 解决: 82 题目描述 修改revert函数,实现输入N个数,顺序倒置后输出 #i ...
- YTU 2838: 改错题AB-装置连接
2838: 改错题AB-装置连接 时间限制: 1 Sec 内存限制: 128 MB 提交: 81 解决: 49 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交. 有AB ...
- YTU 2639: 改错题:类中私有成员的访问
2639: 改错题:类中私有成员的访问 时间限制: 1 Sec 内存限制: 128 MB 提交: 431 解决: 297 题目描述 /* 改错题: 设计一个日期类和时间类,并编写全局函数displ ...
- YTU 2610: A改错题--体检情况分析
2610: A改错题--体检情况分析 时间限制: 1 Sec 内存限制: 128 MB 提交: 233 解决: 161 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交. ...
- YTU 2609: A改错题--学生信息的输入和输出
2609: A改错题--学生信息的输入和输出 时间限制: 1 Sec 内存限制: 128 MB 提交: 238 解决: 157 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方 ...
- YTU 2955: A改错题--销售部的打印机
2955: A改错题--销售部的打印机 时间限制: 1 Sec 内存限制: 128 MB 提交: 61 解决: 47 题目描述 销售部新进了一台快速打印机,使用频率很高.为了能够对打印情况进行统计 ...
- YTU 2954: A改错题--是虫还是草
2954: A改错题--是虫还是草 时间限制: 1 Sec 内存限制: 128 MB 提交: 83 解决: 55 题目描述 冬虫夏草为虫体与菌座相连而成,冬天是虫子,夏天却是草.根据类生物(bio ...
- YTU 2622: B 虚拟继承(虚基类)-沙发床(改错题)
2622: B 虚拟继承(虚基类)-沙发床(改错题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 487 解决: 393 题目描述 有一种特殊的床,既能当床(Bed)用又能当沙发(S ...
随机推荐
- 安装mysql后无法找到临时密码的解决方案
安装mysql后无法找到临时密码的解决方案 一.环境 系统:CentOS7mysql:5.7.20 二.解决步骤 step1:修改/etc/my.cnf添加: skip-grant-tables ...
- 杭电ACM省赛集训队选拔赛之热身赛-How Many Tables,并查集模板题~~
How Many Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Retrofit+RxJava联网工具类
在python 进程.线程 (一)中简单的说过,CPython中的GIL使得同一时刻只能有一个线程运行,即并发执行.并且即使是多核CPU,GIL使得同一个进程中的多个线程也无法映射到多个CPU上运行, ...
- [luoguP2073] 送花(set)
传送门 set #include <set> #include <cstdio> #include <iostream> #define LL long long ...
- msp430入门编程34
msp430中C语言的可移植--消除硬件差异
- (二)Commonjs规范与模块化
在之前的学习中我们使用require()来引入我们需要的包,这其实就是模块化,各模块相互独立,可以通过某种方式引入别的模块.而这些引入方式都是遵循一定的规范的,这就是CommonJS规范. 一.Com ...
- Linux 快照
10个方法助你轻松完成Linux系统恢复 提交 我的留言 加载中 已留言 这也就是为什么系统恢复功能会让人感觉如此神奇.你可以很快地重新回到工作中去,就像什么事情都没有发生一样,也不用去管造成系统故障 ...
- VMware虚拟机上安装linux和克隆
虚拟机上安装好一台linux 系统后.为了高速搭建hadoop集群.须要再安装几个linux系统,比較笨的办法能够又一次用ios 镜像文件进行安装.可是又一次安装须要又一次配置一些信息并且安装时间比較 ...
- 深入理解 C 指针阅读笔记 -- 第六章
Chapter6.h #ifndef __CHAPTER_6_ #define __CHAPTER_6_ /*<深入理解C指针>学习笔记 -- 第六章*/ typedef struct _ ...
- vue 手风琴组件
1.创建组件 SqueezeBox.vue <!-- 手风琴(三级折叠列表) 组件 --> <template> <div class="header" ...