- 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、 试验目的:
进一步加深对类和对象的理解。
掌握类的构造函数和析构函数的概念和使用方法。
掌握对对象数组、对象的指针及其使用方法。
掌握友元的概论和使用。
了解类模板的使用方法。
2、 试验内容
(1) 有以下程序: #include iostream using namespace std; class Student
{public:
Student(int n,float s):num(n),score(s){} void change(int n,float s) {num=n;score=s;}
void display(){coutnum scoreendl;} private:
int num; float score;
};
int main()
{Student stud(101,78.5); stud.display(); stud.change(101,80.5); stud.display();
return 0;
}
①. 阅读此程序,分析其执行过程,然后上机运行,对比输出结果。
②. 修改上面的程序,在主函数增加一个全局函数 fun,在 fun 函数中调用 change 和 display
函数。在 fun 函数中使用对象的引用(student)作为形参。
③. 在 mian 函数中调用 fun 函数。
④. 达到的目的是,先输出对象的初始化值,然后改变其值,再输出新的值。
(2)有以下程序#include iostream using namespace std; class Date;
class Time
{public:
Time(int,int,int); void display(Date); private:
int hour; int minute; int sec;
};
class Date
{public:
Date(int,int,int);
friend void Time::display(const Date ); private:
int month; int day; int year;
};
Time::Time(int h,int m,int s)
{hour=h; minute=m; sec=s;
}
void Time::display(Date da)
{coutda.month/da.day/da.yearendl; couthour:minute:secendl;
}
Date::Date(int m,int d,int y)
{month=m; day=d; year=y;
}
int main()
{Time t1(10,13,56);
Date d1(12,25,2004);
t1.display(d1); return 0;
}
请分析和运行此程序,注意友元函数 Time: display 的作用。将程序中的 display 函数不放在 Time 类中,而作为类外的普通函数,然后分别在 Time 和 Data 类中将 display 声明为友元函数。在主函数中调用display 函数,display 函数分别引用 Time 和 Data 两个类的对象的私有数据,输出年、月、日和时、分、秒。
修改后上机运行。
注意:display 函数中参数的顺序!
(3) 编写基于对象的程序:(选作题)
商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10 件以上者,还可以享受9.8 折优惠。现已知当天 3 个销货员销售情况为
销货员号(num)
售货件数(quantily)
售货单价(price)
101
5
23.5
102
12
24.56
103
100
21.5
请编程序,计算出当日此商品的总销售款 sum 以及每件商品的平均售价。要求用静态数据成员和静态成员函数。(提示:将折扣 discount,总销售款 sum 和商品销售总件数n 声明为静态数据成员,再定义静态成员函数average(求平均售价)和display(输出结果))。
答案:
#include iostream using namespace std; class Product
{public:
Product(int n,int q,float p):num(n),quantity(q),price(p){}; void total();
static float average(); static void display();
private:
int num;
int quantity; float price;
static float discount; s
您可能关注的文档
最近下载
- 国开(BJ)-公共危机管理(本)-第三次形成性考核-学习资料.docx VIP
- 人教版(2024新版)七年级上册英语 Unit 2单元测试卷(含答案).docx VIP
- 数字描红1到10田字格字帖A4纸可直接打印.doc VIP
- [医院保洁服务方案] 医院保洁方案范本.pdf VIP
- Oerlikon Metco热喷涂技术简介.pdf
- 认知过程注意篇.pptx VIP
- 奥林巴斯E-PL7使用说明书.docx
- 国开(BJ)-公共危机管理(本)-第五次形成性考核-学习资料.docx VIP
- 有机茶园的生产与管理有机茶园施肥技术有机茶园的生产与管理有机茶园施肥技术.ppt VIP
- 认知心理学-注意过程.ppt VIP
文档评论(0)