




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,复习小结,2,选择题,1.下列关于成员访问权限的描述正确的是( ) A 类的私有成员只可被类的成员函数访问 B 类的私有成员可被类的成员函数和友元函数访问 C 类的保护成员可通过类的对象进行访问 D 类的数据成员只可被类的成员函数访问 2.在C+中,多态性是指( ) A 以任何方式调用一个虚函数 B 以任何方式调用一个纯虚函数 C 借助于指针或引用调用一个虚函数 D 借助于指针或引用调用一个非虚函数,B,C,3,选择题,3.若有定义” char str110, str220=”book”; ”,则能将字符串”book”赋给数组str1的正确语句是( ) A str1 = “book”; B
2、 strcpy(str1,str2); C str1 = str2; D strcpy(str1,str2) 4. C+语言中不能由系统自动生成的函数是( ) A 析构函数 B 构造函数 C 友元函数 D 拷贝构造函数,B,C,4,选择题,B,5.静态成员函数对类的数据成员访问( )。 A 是不允许的 B只允许是静态数据成员 C只允许是非静态数据成员 D可允许是静态数据成员或非静态数据成员,B,5,选择题,6.以下说法中正确的是( )。 A C+程序总是从第一个定义的函数开始执行 B C+程序总是从main函数开始执行 C C+函数必须有返回值,否则不能使用函数 D C+程序中有调用关系的所有
3、函数必须放在同一个程序文件中,C,B,6,选择题,7.系统在调用重载函数时,往往根据一些条件确定哪个重载函数被调用。在下列选项中,不能作为依据的是( ) A 参数个数 B 参数的类型. C 函数名称 D 函数的类型 8.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( )。 A 作为友元函数重载的1元运算符 B 作为成员函数重载的1元运算符 C 作为友元函数重载的2元运算符 D 作为成员函数重载的2元运算符,D,B,7,选择题,9.派生类构造函数的成员初始化列表中,可以包含( ) 基类构造函数 派生类的数据成员初始化 成员对象的初始化 基类数据成员的初始化 A 以上全部 B 仅、
4、 C 仅、 D 仅、,C,8,选择题,10.下列说法中,正确的是( ) A 内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方 B 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方 C 类的内联函数必须在类体内定义 D 类的内联函数必须在类体外通过加关键字inline定义,D,9,填空题,1.在类中定义的成员的默认访问权限为 ,在结构中默认的访问权限为 。 2.语句”A *p = new A2;”将导致A类的 被调用 次。 3.一个函数名为A,返回值为void,没有参数的纯虚函数的定义是 。 4.在面向对象中,一个对象请求另一对象为其服务的方式是通过发送 实现。 5.用于
5、输出表达式值的标准输出流对象是 ,用于从键盘上为变量输入值的标准输入流对象是 。,读程序,#include using namespace std; int myCalculate(int para=4); void main() coutmyCalculate()endl; coutmyCalculate(5)endl; ,int myCalculate(int para) int sum=0; for(int i=1;i=3;i+) sum=para*(1+sum); return sum; ,84 155,读程序,#include using namespace std; templat
6、e class myTeplate public: myTeplate(dt1 a, dt2 b) i=a; j=b; myTeplate() cout“delete ”i jn void show() couti jn;,private: dt1 i; dt2 j; ; void main() myTeplate ob1(20,q); myTeplate ob2(62.7,“double and char*”); ob1.show(); ob2.show(); ,20 q 62.7 double and char* delete 62.7 double and char* delete 20
7、 q,读程序,#include using namespace std; void f(int a) cout “a = ” a endl; a = 82; void f(int* p) cout *p = *p endl; *p = 50; void g(int,int main() int x = 47; f(x); cout “x = ” x endl; f( ,a = 47 x = 47 *p = 47 x = 50 r = 50 x = 30,读程序,#include #include using namespace std; class Student string name; s
8、tatic int objectCount; public: Student(const string ,Student(const Student,tom: objectCount = 1 tom copy: objectCount = 2 tom copy copy: objectCount = 3 tom copy: objectCount = 2 tom copy copy: objectCount = 1 tom: objectCount = 0,14,编程题,1.设计分数Fraction类,其中分别设计运算符“+”,“-”和“*”重载友元函数,实现两个分数的相加、相减和相乘的结果,
9、并以分数2/3和4/5为例将计算结果打印输出。,15,编程题,#include using namespace std; class Fraction float numerator; float denominator; public: Fraction(float n,float d) numerator = n; denominator = d; Fraction () void print(); friend Fraction operator+( Fraction a, Fraction b); friend Fraction operator-( Fraction a, Fract
10、ion b); friend Fraction operator*( Fraction a, Fraction b); ;,16,编程题,void Fraction :print() cout numerator/ denominatorendl; Fraction operator+( Fraction a, Fraction b) Fraction temp; temp.numerator=a. numerator *b.denominator +b.numerator*a.denominator; temp.denominator =a.denominator * b.denominat
11、or; return temp; ,17,编程题,Fraction operator-( Fraction a, Fraction b) Fraction temp; temp.numerator=a. numerator *b.denominator -b.numerator*a.denominator; temp.denominator =a.denominator * b.denominator; return temp; Fraction operator*(Fraction a, Fraction b) Fraction temp; temp.numerator=a. numerat
12、or * b.numerator; temp.denominator =a.denominator * b.denominator; return temp; ,18,编程题,void main() Fraction f1(2,3); Fraction f2(4,5),f3; f1.print(); f2.print(); f3=f1+f2; f3.print(); f3=f1-f2; f3.print(); f3=f1*f2; f3.print; ,19,编程题,输出结果: 2/3 4/5 22/15 -2/15 8/15,20,编程题,2.设计一个小型公司的人员信息管理系统。该公司主要有两
13、类人员:经理、推销员。经理数据有工号(no)、姓名(name)和级别(level),推销员数据有工号(no)、姓名(name)和部门(depart)。具体要求如下所述: (1)将工号、姓名的输入和显示设计成一个类(Employee),并作为经理(Manager)和推销员(Salesman)的基类; (2)Manager和Salesman派生类要重写基类中输入和显示函数,需体现运行的多态性; (3)打印人员信息的显示结果。,21,编程题,#include #include using namespace std; class Emploree int no; string name; publi
14、c: virtual void input() coutno;coutname; virtual void output() cout“the no is ”noendl; coutthe name is nameendl; ;,22,编程题,class Manager: public Emploree int level; public: void input() Emploree :input(); coutlevel; void output() Emploree:output(); coutthe Managers level is levelendl; ;,23,编程题,class Salesman: public Emploree string depart; public: void input() Emploree:input(); coutdepart; void output() Emploree:output(); coutthe Salesman s department is departendl; ;,24,编程题,void main() Manager m1; Salesman s1; Emploree* p= ,25,编程题,输出结果: the no is 12 the n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 尊重话题班会课件
- 2024年湖南长沙中考真题及答案
- 水粉教学课件儿童
- 片段教学课件一等奖
- 智能化生产厂房施工合同十项应用
- 茶园土地流转与种植承包合同
- 车用起重机租赁及设备操作规范培训合同
- 餐饮服务员劳动合同合同解除通知协议
- 中医正骨教学课件
- 无人驾驶车辆通信协议与网络安全研究考核试卷
- 房地产销售计划书
- 2025年劳动争议仲裁员(二级)考试试卷
- 空中安全保卫课件
- 中兴-5G-A高频毫米波网络规划方法论介绍V1.0
- 2024年全市首届档案职业技能竞赛考试题库(含答案)
- 2025年沈阳水务集团有限公司-企业报告(代理机构版)
- 数字化艺术-终结性考核-国开(SC)-参考资料
- 2025年佛山市南海区图书馆招聘题库带答案分析
- 2025盘锦市兴隆台区辅警考试试卷真题
- 二年级口才与演讲教案
- 2025年医养结合养老服务项目可行性研究报告
评论
0/150
提交评论