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

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1953736.html】到电脑端继续下载(重复下载不扣费)。

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北邮C++实验实验六.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

北邮C++实验实验六.docx

1、北邮C+实验 实验六7.3 实验题一、基础题1标出下列程序中的错误class CSampleint a=2.5; (A)实际赋值与定义的类型不符,数据成员不能在类中作初始化 CSample(); (B) public:CSample(int val); (C)CSample(); (D) 2在下列程序的填空中填上适当的语句,完成立方体体积的计算,并按图7-1的样式输出结果.要求:(1)对有注释标记的语句进行功能注释。(2)建立一个头文件和测试类文件,上机调试并输出下列结果。程序如下:#include using namespace std;class cube public: cube();

2、/定义一个结构函数 cube(); / 定义一个析构函数 int volume(); /定义一个成员函数private: int height,width,depth; /定义三个数据成员;cube:cube() height=10; width=8; depth=10; coutConstructor called.endl;cube:cube() coutDestructor calledendl;int cube:volume() return height*width*depth;void main() cube cubeone; /定义一个对象 cout立方体的体积为:cubeone

3、.volume()endl;图7-1 第1题的输出示例3. 修改下列程序中的错误,并说明调用构造函数和析构函数的次序和次数#include using namespace std;class CCounter int value; public: CCountr() cout CCounter Constructor1 endl; value = 0; CCountr(int val) cout CCounter Constructor2 endl; value = val; CCounter() cout CCounter Destructor endl; ; class CExample

4、int value; public: CCounter car; CExample() cout CExample Constructor1 endl; value = 0; CExample(int val) cout CExample Constructor1 endl; value = val; CExample() cout CExample Destructor endl; void Display() cout value= value endl; ; void main() CExample obj(350); obj.Display(); 先调用CExample的构造函数CEx

5、ample()然后调用CExample的构造函数CExample(int val)然后调用CExample的析构函数CExample()最后调用 CCounter的析构函数CCounter() 改为#include using namespace std;class CCounter int value; public: void CCountr() cout CCounter Constructor1 endl; value = 0; void CCountr(int val) cout CCounter Constructor2 endl; value = val; CCounter()

6、cout CCounter Destructor endl; ; class CExample int value; public: CCounter car; CExample() cout CExample Constructor1 endl; value = 0; CExample(int val) cout CExample Constructor1 endl; value = val; CExample() cout CExample Destructor endl; void Display() cout value= value endl; ; void main() CExam

7、ple obj(350); obj.Display(); 4上机调试下列程序,说明出错的原因,并提交正确的程序。输出结果如图7-2所示。#include using namespace std; class Pointprotected:int x;public: int Getx()return x;int Y; void init()x=a;Y=b;int Gety()return Y;void Setx(int a)x=a;void Sety(int b)Y=b;void main()Point A,B; A.init(25,27); B.init(29,31);coutA.x=A.Ge

8、txendl;coutB.x=B.Getx()endl;coutA.Y=A.Yendl;coutA.y=A.Gety()endl; coutB.y=B.Yendl;coutB.y=B.Gety()endl;图7-2 第4题的输出显示出错的原因:init定义的形参与实参个数不符改为:#include using namespace std; class Pointprotected:int x;public: int Getx()return x;int Y; void init(int a,int b )x=a,Y=b;int Gety()return Y;void Setx(int a)x=

9、a;void Sety(int b)Y=b;void main()Point A,B; A.init(25,27); B.init(29,31);coutA.x=A.Getx()endl;coutB.x=B.Getx()endl;coutA.Y=A.Yendl;coutA.y=A.Gety()endl; coutB.y=B.Yendl;coutB.y=B.Gety()endl;5阅读以下程序,写出下列程序的运行结果,并对有注释带注释标记语句进行功能注释#include using namespace std;class base private: int i; static int k; /定

10、义一个静态成员 public: base () i=0; k+; /定义一个结构函数 void Display(); ; void base:Display() k=k+10; i+; cout i= i ,k= k endl; int base:k=0; /将静态成员赋值为0 void main() base a,b; a.Display(); b.Display(); 运行结果为:_i=1,k=12_i=1,k=22_二、编程题1设计一个类用于对整数进行判别,并根据判断的结果分别统计所判断过的正整数和负整数的个数,并以格式显示其统计结果。#include#includeusing name

11、space std;class Aprivate : int a; static int b,c;public: A(int x); void print();A:A(int x) a=x; if(a0) couta为正整数endl; b+; else if(a0) couta为负整数endl; c+; else couta既非正整数也非负整数endl;void A:print() cout正整数的个数是:bendl负整数的个数是:cendl;int A:b=0;int A:c=0;void main() A a(3); A c(7); A d(0); A b(-1); b.print();2

12、编写一个程序,定义一个类,此类包括3个私有数据成员:colorcast(彩电)、 ridge(冰箱)、washer洗衣机以及total(当天总收入)。彩电目前的价格是4200元/每台、冰箱目前的价格是2800元/每台、洗衣机的价格1500元/每台。要求实现输入彩电、冰箱、洗衣机的价格和当天所卖出的数量,本程序将计算出百货商店家电部当天的总营业额。#includeusing namespace std;class shopprivate: int colorcast; int ridge; int washer; public: void total(); int a,b,c,totalnumb

13、er; void getprice(); void getnumber();void shop:getprice() cout请输入彩电,冰箱,洗衣机的价格:xyz; colorcast=x; ridge=y; washer=z;void shop:getnumber() cout请输入彩电,冰箱,洗衣机的个数:abc;void shop:total() cout家电的总营业额为a:endl; totalnumber=colorcast*a+ ridge*b+washer*c; couttotalnumberendl;void main() shop myshop; myshop.getpri

14、ce(); myshop.getnumber(); myshop.total();3编写一个程序,定义一个汽车类(car),其中包括车型、颜色、车门数、座位数和轴距等属性,包括chage_ parameters()和disp_ parameters()等函数;disp_ parameters()显示车型、颜色、车门数、座位数和轴距属性,函数change_ parameters ()改变对象的车型、颜色、车门数、座位数和轴距属性,实现并测试这个类。#include#includeusing namespace std;class carprivate: string type; string c

15、olor; int doornumber; int chairnumber; int zhoucheng;public: void disp_parameters(char*,char*,int,int,int); void change_parameters(char*,char*,int,int,int);void car:disp_parameters(char* a,char* b,int c,int d,int e ) type=a; color=b; doornumber=c; chairnumber=d; zhoucheng=e; cout更改前为:车型:typeendl颜色:c

16、olorendl车门数:doornumberendl座位数:chairnumberendl轴距:zhouchengendl;void car:change_parameters(char* a,char* b,int c,int d,int e ) type=a; color=b; doornumber=c; chairnumber=d; zhoucheng=e; cout更改后为:车型:typeendl颜色:colorendl车门数:doornumberendl座位数:chairnumberendl轴距:zhouchengendl;void main() car mycar; mycar.d

17、isp_parameters(奥拓,黑色?,4,4,5); mycar.change_parameters(奥迪,红色,2,2,3);测试结果:4编写一个程序,使其可实现输入5个学生学号、姓名、性别和年龄,并按年龄从大到小进行排序输出。#include using namespace std; struct stu long no; char name9; char sex5; int age; ; void main() stu m; stu student5; for(int b=0;bstudentb.nostudentb.namestudentb.sexstudentb.age; fo

18、r(int i=1;i5;i+) for(int j=0;j=4-i;j+) if(studentj.agestudentj+1.age) m=studentj; studentj=studentj+1; studentj+1=m; for(int k=0;k5;k+) coutstudentk.no studentk.name studentk.sex studentk.ageendl; 5设计一个模拟银行ATM柜台机的程序,包括存款、取款和查询余额三种功能。提示:在存款、取款时都需要检查帐号和密码,可以直接引用其成员函数来检查,如果是合法客户,返回true,然后执行增加存款或减少存款的程序

19、。#includeusing namespace std;class bandprivate: static int money; static int a,b;public: int check() cout请输入账号和密码:endl; int x,y; for(int i=1;ixy; if(a=x,b=y) return 1; break; else if(i!=3)cout输入错误,重新输入; else cout拒绝服 务endl; void increase() cout请输入存款金额:i; money+=i; void reduce() cout请输入取款金额:j; money-=

20、j; void checkmoney() coutmoneyendl; ;int band: a=444641;int band: b=12345;int band: money=2000;void main() int a; int m=1; band myband; do cout请选择服 务类型:1.存款2.取款? 3.查询余 额 4.结束服 务a; if(a=1) if(myband.check() myband.increase(); else if(a=2) if(myband.check() myband.reduce(); else if(a=3) myband.checkmo

21、ney(); else if(a=4) break; while(m=1); 6有一个学生类,包括学号、姓名和成绩,设计一个友员函数,比较学生成绩的高低,并求出最高分和最低分。#includeusing namespace std;class studentprivate: int no; string name; int score; public: void get(int ,char*,int); friend void compare(student & a ,student & b,student & c); ;void compare(student & a ,student &

22、b,student & c) int x,y,m,n; x=a.scoreb.score?a.score:b.score; y=xc.score?x:c.score; cout最高分为:yendl; m=a.scoreb.score?a.score:b.score; n=mc.score?m:c.score; cout最低分为:nendl;void student:get(int x,char* y,int z) no=x; name=y; score=z;void main() student a,b,c; a.get(01,zhang,87); b.get(02,wang,97); c.get(03,li,65); compare(a,b,c);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2