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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

c++期末复习资料.docx

1、c+期末复习资料一、选择题:30分(考15个,有13在习题集中,考原题)二、概念题10分(习题集加课本)三、程序阅读32分四、填空题(三个选一个,会有所改动)1.在下面程序中定义了类A、A1和A2,其中A1类由A 类公有派生,A2类由A1类公有派生。上述三个类的定义并不完整,请按照要求完成下列操作,将程序补充完整。定义类A的构造函数,该构造函数有一个整型的参数x,在构造函数中将x 赋值给数据成员a。请在注释“/*1*”之后添加适当的语句。定义类A1的构造函数,该构造函数有两个整型的参数x和y,在构造函数中将x 赋值给数据成员b,将y作为基类A的构造函数的参数传入。请在注释“/*2*”之后添加适

2、当的语句。定义类A2的构造函数,该构造函数有三个整型的参数x、y和z,在构造函数中将x 赋值给数据成员c,将y和z作为基类A1的构造函数的参数传入。请在注释“/*3*”之后添加适当的语句。完成类A2的成员函数show的定义,该函数调用基类成员函数,输出基类数据成员a和b及类A2自身数据成员c的值,上述3个值在输出时以空格隔开。请在注释“/*4*”之后添加适当的语句。注意:除在指定位置添加语句之外,不要改动程序中德其他内容。程序输出结果如下:96962源程序文件清单如下:#includeclass A int a;public:_/*1*int geta( )return a;class A1:

3、public A int b;public:_/*2*int getb( )return b;class A2:public A1 int c;public:_/*3*void show( )_/*4*;void main( ) A2 a(2,6,9);couta.geta( )endl;couta.getb( )endl;a.show( );2.根据给定的程序执行结果,将下列程序补充完整 (每空2分,10分)#include #includeusing namespace std;class Student /声明基类Student public: Student(int n, string

4、 nam, char s) /基类构造函数 num=n; name=nam; sex=s; protected: int num; string name; char sex ; ;class Student1: public Student /声明派生类Student1 public: Student1(int n,string nam, char s, int a): /调用基类构造函数 /在函数体中只对派生类新增的数据成员初始化 void show( ) /根据输出结果填写输出语句 coutname: nameendl; coutsex: sexendl; coutage: ageend

5、l; private: int age; ;int main( ) Student1 stud1();/根据输出结果填写实际参数 /根据程序的运行结果调用相应的成员函数 return 0;运行结果为num:10010name:Wang-lisex:fage: 193.分析以下程序,根据输出结果完善程序。 要求: (1) 在主函数中不可以通过对象访问类中的所有数据成员。 (2) 程序的运行结果为; 3 , 6 , 9 。#include class A (1)_ /最合理的访问特征int a ;public ; A (int i = 0) a=i ;class B (2)_ /最合理的访问特征

6、int b ;public : B (int i=0 ) b=i ;class C : public A int c; B b1 ;public : (3)_/根据运行结果定义构造函数 (4)_ void show ( ) (5)_/输出c的所有的数据成员;void main ( ) C c1(3,6,9);c1 .show ( ) ;答案:1 (1)A(int x)a=x;(2)A1(int x,int y):A(y)b=x;(3)A2(int x,int y,int z):A1(y,z)c=x;(4)coutgeta() getb() cendl; 2 (1)Student (n,nam,

7、s) (2)age=a; (3)coutnum num endl; (4)10010 ,”Wang-li”,f, 19 (5)stud1.show();3(1)protected: (2)public : (3)C(int n,int m,int w):A(n),b1(m) (4)c=w; (5)couta b1.b cendl;五、编程题:(答案是个人编程,用于参考)题型1:重载1 课本149第四题1.cpp矩阵之和:1#includeusing namespace std;class Mpublic: M()a00=0;a01=0;a02=0;a10=0;a11=0;a12=0; M op

8、erator+(M b); void set(); void show();private: int a23; ;M M:operator+(M b) M c; int i,j; for(i=0;i2;i+) for(j=0;j3;j+) c.aij=aij+b.aij; return c;void M:set() int i,j; for(i=0;i2;i+) for(j=0;jaij; void M:show() int i,j; for(i=0;i2;i+) for(j=0;j3;j+) coutaijendl;int main() M a,b,c; a.set();b.set();c=

9、a+b;c.show();return 0;2#includeusing namespace std;class Mpublic: M()a00=0;a01=0;a02=0;a10=0;a11=0;a12=0; M(int a1,int a2,int a3,int a4,int a5,int a6)a00=a1;a01=a2;a02=a3;a10=a4;a11=a5;a12=a6; M operator+(M b); void set(); void show();private: int a23; ;M M:operator+(M b) M c; int i,j; for(i=0;i2;i+

10、) for(j=0;j3;j+) c.aij=aij+b.aij; return c;void M:set() int i,j; for(i=0;i2;i+) for(j=0;jaij; void M:show() int i,j; for(i=0;i2;i+) for(j=0;j3;j+) coutaijendl;int main()M a(1,2,3,4,5,6),b(1,1,1,1,1,1),c; c=a+b;c.show();return 0;3课本149第5题.cpp#include/using namespace std;class Mpublic: M()a00=0;a01=0;

11、a02=0;a10=0;a11=0;a12=0; M operator+(M b); friend ostream& operator(istream&,M &);private: int a23; ;M M:operator+(M b) M c; int i,j; for(i=0;i2;i+) for(j=0;j(istream&input,M &f) int i,j; for(i=0;i2;i+) for(j=0;jf.aij;return input; ostream& operator(ostream& output,M &f) int i,j; for(i=0;i2;i+) for(

12、j=0;j3;j+) outputf.aij; outputa; cinb;c=a+b;coutc;return 0;题型2:继承1用单一继承方式定义平面坐标体系下的点类Point,线类Line和三角形类Triangle。Line 类单一继承Point 类,另外增加第2个点坐标。Triangle类单一继承Line 类,另外增加第3个点坐标。在主函数中定义一个三角形对象,调用成员函数求出并输出三角形的3个顶点坐标,三角形的周长和面积。请设计这3个类:class Point;class Line;class Triangle;main()Triangle s1(0,0,1,1,1,0);s1.sh

13、ow1();/输出s1这个三角形的3 个顶点。s1.show2();/计算并输出s1这个三角形的周长。s1.show3();/计算并输出s1这个三角形的面积。#include#includeusing namespace std;class Pointpublic:Point( int a,int b)a1=a;a2=b;void display()couta1 a2endl; protected: int a1; int a2; ;class Line :public Pointpublic: Line(int a,int b,int c,int e) :Point(a,b) b1=c; b

14、2=e; void play() display(); coutb1 b2endl;protected: int b1; int b2;class Triangle:public Linepublic: int q; Triangle(int a,int b,int c,int e,int f,int g):Line(a,b,c,e) c1=f; c2=g; void show1(); void show2(); void show3();protected: int c1; int c2;void Triangle:show1()cout输出s1这个三角形的3 个顶点endl; play()

15、; coutc1 c2endl;void Triangle:show2() double l1,l2,l3; double q; cout计算并输出s1这个三角形的周长endl; l1=sqrt( pow(a1-b1),2) + pow(a2-b2),2) ); l2=sqrt( pow(a1-c1),2) + pow(a2-c2),2) ); l3=sqrt( pow(b1-c1),2) + pow(b2-c2),2) ); q=l1+l2+l3; coutqendl;void Triangle:show3() double s; double l1,l2,l3; double q;cout

16、计算并输出s1这个三角形的面积endl; l1=sqrt(pow(a1-b1),2) + pow(a2-b2),2) ); l2=sqrt(pow(a1-c1),2)+ pow(a2-c2),2) ); l3=sqrt(pow(b1-c1),2)+ pow(b2-c2),2) ); q=l1+l2+l3; q=q/2; s=sqrt(q*(q-l1)*(q-l2)*(q-l3); coutst;t.show1();/输出体积t.show2();/输出表面积return 0;答案:#include#define PI 3.14class Hight /定义高度类Hightpublic: High

17、t(double i=0) h=i; protected: double h;class Circle /定义圆类Circlepublic: Circle(double j=0) r=j; protected: double r;class Cylinder:public Hight,public Circle /类Cylinderpublic:friend istream & operator(istream & input,Cylinder &c); Cylinder(double i=0,double j=0):Hight(i),Circle(j) void show1(); void

18、show2();void Cylinder:show1() double v; v=PI*r*r*h;/v=3.14*r*r*h; cout 输出体积 endl; coutvendl;void Cylinder:show2()double s; s=PI*r*r*2+PI*r*2*h; / s=3.14*r*r*2+3.14*r*2*h; cout 输出表面积endl; couts(istream & input,Cylinder &c) input c.hc.r; return input; int main() Cylinder t;cint;t.show1();/输出体积t.show2();/输出表面积return 0;

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

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