ImageVerifierCode 换一换
格式:DOCX , 页数:52 ,大小:70.30KB ,
资源ID:2314395      下载积分:14 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2314395.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C++课后习题第八章-第十二章.docx)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C++课后习题第八章-第十二章.docx

1、 第八章 1. 请检查下面的程序,找出其中的错误(先不要上机,在纸面上作人工检查),并改正。然后上机调试,使之能正常运行。运行时从键盘输入时、分、秒的值,检查输出是否正确。 原文: #include using namespace std; class Time { void set_time(void) ; void show

2、time(void); int hour; int minute; int sec; }; Time t; int main() { set_time(); show_time(); return 0; } void set_time(void) { cin>>t.hour; cin>>t.minute; cin>>t.sec; } void show_time(void) { cout<

3、 using namespace std; class Time { public: //成员改为公用的 int hour; int minute; int sec; }; Time t; void set_time(void) {//在 main 函数之前定义 cin>>t.hour; cin>>t.minute; cin>>t.sec; } void show_time(void) { //在 main 函数之前定义 cout<

4、 { set_time(); show_time(); return 0; } 2. 改写例8.1程序,要求: (1) 将数据成员改为私有的; (2) 将输入和输出的功能改为由成员函数实现; (3) 在类体内定义成员函数; #include using namespace std; class Time { public: void set_time(void) { cin>>hour; cin>>minute; cin>>sec; } void show_time(void) {

5、cout< using namespace std; class Time { public: void set_t

6、ime(void); void show_time(void); private: int hour; int minute; int sec; }; void Time::set_time(void) { cin>>hour; cin>>minute; cin>>sec; } void Time::show_time(void) { cout<

7、urn 0; } 4. 在第8.3.3节中分别给出了包含类定义的头文件student.h,包含成员函数定义的源文件studnet.cpp以及包含主函数的源文件main.cpp。请对该程序完善化,在类中增加一个对数据成员赋初值的成员函数set_value。 原文8.3.3: #include using namespace std; class Student { public: void display() { cout<<"num:"<

8、<<"sex:"< #include "student.h" using namespace std; int main() { Student s ; s.SetValue(); s.Display(); return 0;

9、 } Student.h using namespace std; class Student { public: void Display(); void SetValue(); private: int num; char name[20]; char sex; }; Student.cpp #include #include"student.h" using namespace std; void Student :: Display() { cout << "num:" << num << e

10、ndl; cout << "name:" << name << endl; cout << "sex:" << sex << endl; } void Student :: SetValue() { cin >> num >> name >> sex; } 5. 将例8.4改写为一个多文件的程序: (1) 将类定义放在头文件arraymax.h中; (2) 将成员函数定义放在源文件arrymax.cpp中; (3) 主函数放在源文件file1.cpp中。 原文例8.4: #include using namespace std; cl

11、ass Array_max { public: void set_value(); void max_value(); void show_value(); private: int array[10]; int max; }; void Array_max::set_value() { int i; for (i=0; i<10; i++) cin>>array[i]; } void Array_max::max_value() { int i; max=array[0]; for (i=1; i<10; i++)

12、 if(array[i]>max) max=array[i]; } void Array_max::show_value() { cout<<"max="< #include"arraymax.h" using namespace std; int ma

13、in() { ArrayMax arrmax; arrmax.SetValue(); arrmax.MaxValue(); arrmax.ShowMax(); return 0; } arraymax.h class ArrayMax { public: void SetValue(); //设置数组元素值 void MaxValue(); //找出最大值 void ShowMax(); //输出最大值 private: int array[10]; //整型数组 int max; //数组最大

14、值 }; arraymax.cpp #include #include"arraymax.h" using namespace std; void ArrayMax :: SetValue() { int i; for(i = 0; i < 10; i++) { cin >> array[i]; } } void ArrayMax :: MaxValue() { int i; max = array[0]; for(i = 1; i < 10; i++) { if(max < array[i]) { max =

15、 array[i]; } } } void ArrayMax :: ShowMax() { cout << "max=" << max << endl; } 6. 需要求3个长方柱的体积,请编写一个基于对象的程序。数据成员包括length(长)、width(宽)和weight(高)。要求用成员函数实现以下功能。 (1) 由键盘分别输入3个长方柱的长、宽和高。 (2) 计算长方柱的体积; (3) 输出3个长方柱的体积。 #include using namespace std; class Box { public: vo

16、id get_value(); float volume(); void display(); public: float lengh; float width; float height; }; void Box::get_value() { cout<<"please input lengh, width,height:"; cin>>lengh;//由键盘分别输入3个长方柱的长、宽和高。 cin>>width; cin>>height; } float Box::volume() { return(lengh*width*he

17、ight);//计算长方体体积。 } void Box::display() { cout<

18、s "; box3.display(); return 0; } 第九章 2. 分析下面的程序,写出其运行时的输出结果。 #include using namespace std; class Date { public: Date(int,int,int); Date(int,int); Date(int); Date(); void display(); private: int month; int day; int year; }; Date::Date(int m,i

19、nt d,int y):month(m),day(d),year(y) { } Date::Date(int m,int d):month(m),day(d) { year=2005; } Date::Date(int m):month(m) { day=1; year=2005; } Date::Date() { month=1; day=1; year=2005; } void Date::display() { cout<

20、0,13,2005); Date d2(12,30); Date d3(10); Date d4; d1.display(); d2.display(); d3.display(); d4.display(); return 0; } 3. 如果将第2题程序的第5行改为用默认参数,即Date(int=1;int=1;int=2005);分析程序有无问题。上机编译,分析出错信息,修改程序使之能通过编译。要求保留上面一行给出的构造函数,同时能输出与第2题程序相同的输出结果。 改: #include using namespac

21、e std; class Date { public: Date(int=1,int=1,int=2005); void display(); private: int month; int day; int year; }; Date::Date(int m,int d,int y):month(m),day(d),year(y) { } void Date::display() { cout<

22、 Date d2(12,30); Date d3(10); Date d4; d1.display(); d2.display(); d3.display(); d4.display(); return 0; } 4. 建立一个对象数组,内放5个学生的数据(学号、成绩),用指针指向数组首元素,输出第1,3,5学生的数据。 #include using namespace std; class Student { public: Student(int n,float s):num(n),score(s) {}

23、 void display(); private: int num; float score; }; void Student::display() { cout<<"num="<

28、 (1) 将main函数第2行改为const Student stud(01,78.5); (2) 在(1)的基础上修改程序,使之能正常运行,用change函数修改数据成员mun和score的值。 (3) 将main函数改为 int main(){ Student stud(101,78.5); Student *p=&stud; P- >display(); P->change(101,80.5); P-display(); return 0; } 其他部分仍同第6题程序。 (4) 在(2)的基础上将main函数第3行改为 const Student *p

29、stud; (5) 再把main函数第3行改为 Student *const p=&stud; (1) [Error] passing 'const Student' as 'this' argument of 'void Student::display()' discards qualifiers [-fpermissive] [Error] passing 'const Student' as 'this' argument of 'void Student::change(int, float)' discards qualifiers [-fpermissive]

30、[Error] passing 'const Student' as 'this' argument of 'void Student::display()' discards qualifiers [-fpermissive] (2) #include using namespace std; class Student { public: Student(int n,float s):num(n),score(s) {} void change(int n,float s) const { num=n; score=s;

31、 } void display() const { cout< using namespace std; c

32、lass Student { public: Student(int n,float s):num(n),score(s) {} void change(int n,float s) { num=n; score=s; } void display() { cout<disp

33、lay(); p->change(101,80.5); p->display(); return 0; } (4) #include 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() const { cout<

34、l; } private: int num; float score; }; int main() { Student stud(101,78.5); const Student *p=&stud; p->display(); stud.change(101,80.5); p->display(); return 0; } (5) #include using namespace std; class Student { public: Student(int n,float s):num(n),s

35、core(s) {} void change(int n,float s) { num=n; score=s; } void display() { cout<display(); p->change(101,80.5); p->display(); ret

36、urn 0; } 8. 修改第6题程序,增加一个fun函数,改写main函数。改为在fun函数中调用change和display函数。在fun函数中使用对象引用(Student&)作为形参。 #include 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() {

37、cout<

38、售人员在销售时灵活掌握售价(price),在此基础上,一次购10件以上者,还可以享受9.8折优惠。现已知当天3个销货员销售情况为 销货员号(num) 销货件数(quantity) 销货单价(price) 101 5 23.5 102 12 24.56 103 100 21.5 请编写程序,计算出当日此商品的总销售款sum以及每件商品的平均售价。要求用静态数据成员和静态成员函数。(提示:将折扣discount,总销售款sum和商品销售总件数n声明为静态数据成员,再定义静态成员函数average(求平均售价)和display(输出结果))。 #include

39、stream> 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; static float sum; stat

40、ic int n; }; void Product::total() { float rate=1.0; if(quantity>10) rate=0.98*rate; sum=sum+quantity*price*rate*(1-discount); n=n+quantity; } void Product::display() { cout<

41、0.05; float Product::sum=0; int Product::n=0; int main() { Product Prod[3]= { Product(101,5,23.5),Product(102,12,24.56),Product(103, 100,21.5) }; for(int i=0; i<3; i++) Prod[i].total(); Product::display(); return 0; } 10. 将例9.13程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在Time和Date

42、类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据,输出年、月、日和时、分、秒。 #include using namespace std; class Date; class Time { public: Time(int,int,int); friend void display(const Date &,const Time &); private: int hour; int minute; int sec; }; Time:

43、Time(int h,int m,int s) { hour=h; minute=m; sec=s; } class Date { public: Date(int,int,int); friend void display(const Date &,const Time &); private: int month; int day; int year; }; Date::Date(int m,int d,int y) { month=m; day=d; year=y; } void display(const Da

44、te &d,const Time &t) { cout<

45、nclude using namespace std; class Time; class Date { public: Date(int,int,int); friend Time; private: int month; int day; int year; }; Date::Date(int m,int d,int y):month(m),day(d),year(y) { } class Time { public: Time(int,int,int); void display(const Date

46、 &); private: int hour; int minute; int sec; }; Time::Time(int h,int m,int s):hour(h),minute(m),sec(s) { } void Time::display(const Date &d) { cout<

47、5,2004); t1.display(d1); return 0; } 12. 将例9.14改写为在类模板外定义各成员函数。 #include using namespace std; template class Compare { public: Compare(numtype a,numtype b); numtype max(); numtype min(); private: numtype x,y; }; template Comp

48、are::Compare(numtype a,numtype b) { x=a; y=b; } template numtype Compare::max() { return (x>y)?x:y; } template numtype Compare::min() { return (x cmp1(3,7); cout<

49、aximum of two integer numbers."< cmp2(45.78,93.6); cout<

50、har> cmp3('a','A'); cout< using namespace std; c

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服