- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机专业学期三课程设计
《面向对象程序设计》
课
程
设
计
报
告
姓 名 小精灵
学 号
指导教师 徐嘉斌
目录
任务一 1
一、 任务内容: 1
二、 设计思路 2
三、 实现代码 2
四、 运行结果及分析 3
任务二 4
一、 任务内容: 4
二、 设计思路 5
三、 实现代码 5
四、 运行结果及分析 6
任务三 6
一、 任务内容: 6
二、 设计思路 7
三、 实现代码 7
四、 运行结果及分析 9
任务一
任务内容:
完成内容:按照要求设计类(根据输出设计类)
设计类就是根据数据封装的要求,抽象出适合的类。
有如下测试程序和测试程序的输出结果,要求设计类Welcome。
(1)测试程序如下:
void main(){
Welcome we;
Welcome you(we);
you.Display();
you.Set(“Thank you.”);
coutyou.Get()endl;
you.talk();
you.Display();
}
(2)测试程序的输出结果如下:
Welcome!
Thank you.
输入:How about you?
输出:How about you?
输入:Fine,thank you.
输出:Fine,thank you.
输入:OK
All right
Goodbye!
OK
Goodbye!
Goodbye!
注:后面5行为倒数第6行输出后接下去的输出内容。
(3)设计类Welcome 的原则:
1)在头文件welcome.h 中声明类
2)在welcome.cpp中实现类
3)使用内联函数定义Display()函数
4)演示文件名用学号作主名。
设计思路
由给出的代码来构造此程序。开头部分,由Display输出Welcome,再用Get输出被Set存进的Thank you。利用循环函数While建立主体部分,输入OK时跳出循环。结尾部分,因为给出的代码中建立了两个对象,所以调用析构函数时可直接输出两个Goodbye。
实现代码
//Welcome.h
#include iostream
#include string
using namespace std;
class Welcome{
private:
char d[100];
public:
inline void Display(){coutdendl;};
void Set(char a[]){strcpy(d,a);};
char *Get(){return d;};
void talk();
Welcome(){};
Welcome(const Welcome a);
~Welcome(){coutGoodbye!endl;};
};
//121-2.cpp
#include iostream
#include string
#includeWelcome.h
using namespace std;
void main()
{
Welcome we;
Welcome you(we);
you.Display();
you.Set(Thank you.);
coutyou.Get()endl;
you.talk();
you.Display();
}
//121-1.cpp
#include iostream
#include string
#includeWelcome.h
void Welcome::talk()
{
cout输入:;
cin.getline(d,100);
while(strcmp(d,OK)!=0)
{
cout输出:dendl;
cout输入:;
cin.getline(d,100);
};
strcpy(d,OK);
coutAll rightendl;
coutGoodbye!endl;
}
Welcome:: Welcome(const Welcome a)
{
strcpy(d,a.d);
strcpy(d,Welcome!);
}
运行结果及分析
图 1
分析:前面先自动输出Welcome!和Thank you.,然后利用循环While函数重复用户的输入。采用了多文件结构,利用构造函数、析构函数和拷贝构造函数将结果输出。最后调用析构函数输出“Goodbye!”
任务二
任务内容:
要求:为分数定义一个类。分数定义为两个整数之比。将分数表示为int类型的两个值:一个表示分子,一个表示分母。
重载输入和输出运算符,分数以1/2、-15/29这样的形式来输入和输出,注意分子、分母可
原创力文档


文档评论(0)