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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C++课堂练习2文档格式.docx

1、 coutxyzy;1 分析以下程序的执行结果#include class base int n; base(int a) constructing base class n=a;n=n base() coutdestructing base class class subs:public base base bobj; int m; subs(int a,int b,int c):bobj(c),base(a)constructing sub cass m=b;m=mclass circle double radius; circle(double r) radius=r; double g

2、etarea() return radius*radius*3.14;class table double height; table(double h) height=h; double getheight() return height;class roundtable : public table,public circle char *color; roundtable(double h, double r, char c) : circle (r) , table (h) color=new charstrlen(c)+1; strcpy (color, c); char *getc

3、olor() return color; roundtable rt(0.8,1.2,黑色); cout 圆桌属性数据: endl;高度:rt.getheight() 米面积:rt.getarea() 平方米颜色:rt.getcolor() 3 图书馆的图书包含书名、编号、作者属性,读者包含姓名和借书证属性,每位读者最多可借5本书,编写程序输出某读者的借书情况。设计一个类object,从它派生出书类book和读者类reader,在reader类中有一个rentbook()成员函数用于借阅图书。class object char name20; int no; object() object(c

4、har na,int n) strcpy(name,na);no=n; void show() name(no);class book:public object char author10; book() book(char na,int n,char auth):object(na,n) strcpy(author,auth); void showbook() show();作者:author;class reader: book rent5; int k; reader(char na,int n):object(na,n)k=0; void rentbook(book &b) rent

5、k=b; k+; void showreader() 读者: show();endl所借图书: for(int i=0;ik;i+) couti+1: / 5个空格 renti.show(); book b1(C语言,100,谭浩强),b2(数据结构,110,严蔚敏 reader r1(王华,1234); r1.rentbook(b1); r1.rentbook(b2); r1.showreader();4 分析以下程序的执行结果 class A int n;virtual public A; /对比不加virtual的情况class D:public B,public C int getn(

6、)return B:n; D d; d.B:n=10; d.C:n=20;d.B:,d.C:D类是从B类和C类派生的而B类和C类又都是从A类派生,但这是虚继承关系即是虚基类,因此共用一个的副本,所以对于对象d,d.B:n与d.C:n是一个成员。20,20 5 设计一个虚基类base,包含姓名和年龄私有数据成员以及相关的成员函数,由它派生出领导类leader,包含职务和部门私有数据成员以及相关的成员函数。再由base派生出工程师类engineer,包含职称和专业私有数据成员以及相关的成员函数。然后由leader和engineer类派生出主任工程师类chairman。采用一些数据进行测试。由于ch

7、airman类从leader类和engineer类派生,而leader类和engineer类都是从base类派生的,所以为了使base只存一个副本,必须采用虚拟派生的方法。/7_8.cppclass B0 /声明基类B0 /外部接口 int nV; void fun()coutMember of B0class B1: virtual public B0 /B0为虚基类,派生B1类 /新增外部接口 int nV1;class B2: virtual public B0 /B0为虚基类派生B2类 int nV2;class D1: public B1, public B2 /派生类D1声明 in

8、t nVd; void fund()coutMember of D1void main() /程序主函数 D1 d1; /声明D1类对象d1 d1.nV = 1; /使用直接基类 d1.nV1 = 2; d1.nV2 = 3; d1.nVd = 4;sizeof(d1)d1+0)d1+1)d1+2)d1+3)d1+4)d1+5)class base / 基类 char* name;/ 姓名 int age; / 年龄 base() void setname(char na) name=new charstrlen(na)+1; void setage(int a) age=a; char* g

9、etname() return name; int getage() return age;class leader:virtual public base / 领导类 char *job;/职务 char *dep;/部门 leader() void setjob(char jb) job=new charstrlen(jb)+1; strcpy (job, jb); void setdep(char dp) dep=new char strlen (dp) +1 ; strcpy (dep, dp); char *getjob() return job; char *getdep() re

10、turn dep;class engineer:virtual public base / 工程师类 char *major; / 专业 char *prof; / 职称 engineer () void setmajor(char maj ) major=new charstrlen(maj)+1; strcpy (major,maj); void setprof(char pf) prof=new charstrlen(pf)+1; strcpy (prof, pf); char*getmajor() return major; char*getprof() return prof; ;c

11、lass chairman:public leader,public engineer / 主任工程师类 ; chairman c; c.setname(李明 c.setage(42); c.setjob(处长 c.setdep(设计处 c.setmajor(电站锅炉设计 c.setprof(高级工程师输出结果: c.getname() ,年龄 c.getage()岁,担任c.getdep() c.getjob() , c.getprof() ,从事 c.getmajor()专业。或改成带参数的构造函数: base(char na, int a) delete name; leader(cha

12、r na, int a, char jb, char dp): base(na,a) leader() delete job; delete dep; engineer (char na, int a, char maj , char pf) :base(na, a) engineer() delete major; delete prof; chairman(char na, int a, char jb, char dp, char maj ,char pf):base(na, a),leader( na , a, jb , dp ),engineer ( na , a, maj , pf

13、 ) chairman c(,42,6 分析以下程序的执行结果class Sample Sample() Sample(int i)n=i; Sample &operator =(Sample); void disp()coutSample &Sample:operator=(Sample s) Sample:n=s.n; return *this; Sample s1(10),s2; s2=s1; s2.disp();本题说明重载运算符(=)的使用方法。operator=成员函数实现两个对象的赋值。 n=10 7 分析以下程序的执行结果 operator+()n+; operator+(int)n+=2; void disp() Sample A(2),B(2); A+; +B; A.disp(); B.disp();本题说明重载运算符+的使用方法。operator+()为前缀重载运算符,operator+(int)为后缀重载运算符。A+的语句调用后缀重载运算符,+B语句调用前缀重载运算符。n=4 8 分析以下程序的执行结果 int A1010; int &operator()(int,int);int &operator()(int x,int y) return Axy;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1