c++期末复习资料.docx
- 文档编号:28061447
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:19
- 大小:17.89KB
c++期末复习资料.docx
《c++期末复习资料.docx》由会员分享,可在线阅读,更多相关《c++期末复习资料.docx(19页珍藏版)》请在冰豆网上搜索。
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***”之后添加适当的语句。
定义类A2的构造函数,该构造函数有三个整型的参数x、y和z,在构造函数中将x赋值给数据成员c,将y和z作为基类A1的构造函数的参数传入。
请在注释“//***3***”之后添加适当的语句。
完成类A2的成员函数show的定义,该函数调用基类成员函数,输出基类数据成员a和b及类A2自身数据成员c的值,上述3个值在输出时以空格隔开。
请在注释“//***4***”之后添加适当的语句。
注意:
除在指定位置添加语句之外,不要改动程序中德其他内容。
程序输出结果如下:
9
6
962
源程序文件清单如下:
#include
classA
{
inta;
public:
______________________________//***1***
intgeta(){returna;}
};
classA1:
publicA
{
intb;
public:
______________________________//***2***
intgetb(){returnb;}
};
classA2:
publicA1
{
intc;
public:
______________________________//***3***
voidshow()
{
______________________________//***4***
}
};
voidmain()
{
A2a(2,6,9);
cout< cout< a.show(); } 2..根据给定的程序执行结果,将下列程序补充完整(每空2分,10分) #include #include usingnamespacestd; classStudent//声明基类Student {public: Student(intn,stringnam,chars)//基类构造函数 {num=n; name=nam; sex=s;} protected: intnum; stringname; charsex; }; classStudent1: publicStudent//声明派生类Student1 {public: Student1(intn,stringnam,chars,inta): ① //调用基类构造函数 {————②———//在函数体中只对派生类新增的数据成员初始化 } voidshow() {—————③——————//根据输出结果填写输出语句 cout<<″name: ″< cout<<″sex: ″< cout<<″age: ″< } private: intage; }; intmain() {Student1stud1(———④—————);//根据输出结果填写实际参数 ⑤//根据程序的运行结果调用相应的成员函数 return0; } 运行结果为 num: 10010 name: Wang-li sex: f age: 19 3.分析以下程序,根据输出结果完善程序。 要求: (1)在主函数中不可以通过对象访问类中的所有数据成员。 (2)程序的运行结果为;3,6,9。 #include classA { (1)______________________________//最合理的访问特征 inta; public; A(inti=0){a=i;} }; classB { (2)_________________________________//最合理的访问特征 intb; public: B(inti=0){b=i;} }; classC: publicA { intc; Bb1; public: (3)_______________________________//根据运行结果定义构造函数 {(4)___________________________________________________} voidshow() { (5)____________________________//输出c的所有的数据成员 } }; voidmain() { Cc1(3,6,9); c1.show(); } 答案: 1. (1)A(intx){a=x;} (2)A1(intx,inty): A(y){b=x;} (3)A2(intx,inty,intz): A1(y,z){c=x;} (4)cout< 2. (1)Student(n,nam,s) (2)age=a; (3)cout<<″num″< (4)10010,”Wang-li”,’f’,19 (5)stud1.show(); 3. (1)protected: (2)public: (3)C(intn,intm,intw): A(n),b1(m) (4)c=w; (5)cout< 五、编程题: (答案是个人编程,用于参考) 题型1: 重载 1.课本149第四题1.cpp 矩阵之和: 1.#include usingnamespacestd; classM { public: M(){a[0][0]=0;a[0][1]=0;a[0][2]=0;a[1][0]=0;a[1][1]=0;a[1][2]=0;} Moperator+(Mb); voidset(); voidshow(); private: inta[2][3]; }; MM: : operator+(Mb) { Mc; inti,j; for(i=0;i<2;i++) for(j=0;j<3;j++) c.a[i][j]=a[i][j]+b.a[i][j]; returnc; } voidM: : set() {inti,j; for(i=0;i<2;i++) for(j=0;j<3;j++) cin>>a[i][j]; } voidM: : show() { inti,j; for(i=0;i<2;i++) for(j=0;j<3;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 期末 复习资料