版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、习题3一、选择题1.在C+中,类与类之间的继承关系具有( C )A)自反性 B)对称性 C)传递性 D)反对称性2.在公有继承的情况下,基类的成员(私有的除外)在派生类中的访问权限( B )A)受限制 B)保持不变 C)受保护 D)不受保护3.按解释中的要求在下列程序划线处填入的正确语句是:( C )#include <iostream.h>class Basepublic:void fun()cout<<"Base:fun"<<endl;class Derived:public Basepublic:void fun() /在此空格处调
2、用基类的函数fun()cout<<"Derived:fun"<<endl; ;A)fun(); B)Base.fun(); C)Base:fun(); D)Base->fun();4.在保护继承的情况下,基类的成员(私有的除外)在派生类中的访问权限( C )A)受限制 B)保持不变 C)受保护 D)不受保护5在哪种派生方式中,派生类可以访问基类中的protected成员(B )A)public和private B)public、protected和private C)protected和private D)仅protected6.当一个派生类仅
3、有protected继承一个基类时,基类中的所有公有成员成为派生类的(C)A) public成员 B) private成员 C) protected成员 D) 友元7.不论派生类以何种方法继承基类,都不能使用基类的(B )A) public成员 B) private成员 C) protected成员 D) public成员和protected成员8下面叙述错误的是(S )。 A)基类的protected成员在派生类中仍然是protected的 B)基类的protected成员在public派生类中仍然是protected的 C)基类的protected成员在private派生类中是privat
4、e的 D)基类的protected成员不能被派生类的对象访问 9.下列说法中错误的是(S )。 A) 保护继承时基类中的public成员在派生类中仍是public的 B)公有继承时基类中的private成员在派生类中仍是private的 C)私有继承时基类中的public成员在派生类中是private的 D)保护继承时基类中的public成员在派生类中是protected的10下面叙述错误的是( C)。 A)派生类可以使用private派生 B)对基类成员的访问必须是无二义性的 C)基类成员的访问能力在派生类中维持不变 D)赋值兼容规则也适用于多继承的组合 11派生类的构造函数的成员初始化列表
5、中,不能包含(C )。 A)基类的构造函数 B)派生类中子对象的初始化 C)基类中子对象的初始化 D)派生类中一般数据成员的初始化 12.下列虚基类的声明中,正确的是:( B )A)class virtual B: public A B)class B: virtual public A C)class B: public A virtual D)virtual class B: public A13. .实现运行时的多态性采用( D )A)重载函数 B)构造函数 C)析构函数 D)虚函数14.若一个类中含有纯虚函数,则该类称为(D )A) 基类 B) 纯基类 C) 派生类 D) 抽象类15.
6、假设A为抽象类,下列声明( B)是正确的A) A fun(int); B) A *p; C) int fun(A); D) A Obj;16.在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值(B )A) 不同 B) 相同 C) 相容 D) 部分相同17.下面函数原型声明中,(C)声明了fun为普通虚函数A) void fun()=0; B) virtual void fun()=0; C) virtual void fun(); D) virtual void fun();18.在下面四个选项中, (A)是用来声明虚函数的。 A)virtual B)p
7、ublic C)using D)false 19.实现运行时的多态性要使用(D)。 A)重载函数 B)构造函数 C)析构函数 D)虚函数 20.关于虚函数的描述中,正确的是(D)。 A)虚函数是一个静态成员函数 B)虚函数是一个非成员函数 C)虚函数既可以在函数说明时定义,也可以在函数实现时定义 D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型 二、填空题:1.派生类对基类的继承有三种方式:_public_ _、_protected_ _ 和_private_ _。 2.如果类Alpha继承了类Beta,则类Alpha称为_派生 _类,类Beta称为_基 _类。3. 设置虚基类的
8、目的是为了消除二义性,可通过_virtual标识虚基类。4. 类继承中,缺省的继承方式是_ private _。 5. 当用protected继承从基类派生个类时,基类的public成员成为派生类的_ protected _成员,protected成员成为派生类的_ protected _ _成员。 6指向基类的对象的指针变量也可以指向_公有派生类的对象。 三、程序题1. 继承的工作方式,完成以下代码。要求:(1)处继承方式为共有继承public,(2)处填写基类的ai,(3)处填写派生类的bi,(4)对象b的数据成员有哪些?ai,bi#include<iostream.h>#in
9、clude<string.h>class Apublic:A()ai=1;protected:int ai;class B: _ Apublic:B()bi=2;void display()cout<<_(2)_<< _(3)_<<endl;private:int bi;int main()B b;b.display();2. 派生类的构造。派生类的构造总是由基类的初始化开始的。填写代码,完成基类的初始化。并且要求屏幕输出效果是:#include<iostream.h>class Apublic:A(int i)x=i; cout&l
10、t;<"CA:"<<x<<endl;A()cout<<"DA"<<endl;private:int x;class B:public Apublic:B():_A(90)_y=0;cout<<"CB"<<endl;B()cout<<"DB"<<endl;private:int y;int main()B b;3. 填写初始化列表,完成以下程序,使得屏幕输出:#include<iostream.h>cla
11、ss Apublic:A(int i)x=i; cout<<x<<endl;private:int x;class Dpublic:D(int i)m=i;cout<<m<<endl;private:int m;class B:public Apublic:B():_A(90),d(19)y=0;private:int y;D d;int main()B b;4. 请问以下程序输出什么?#include<iostream.h>class Apublic:A(int i)x=i;int x;class B:public Apublic:
12、B(int i):A(i+1)y=i;int y;void f1(A & ra)cout<<ra.x<<endl;void f2(A * pa)cout<<pa->x<<endl;int main()B b(3);f1(b);f2(&b);4答案:5. 请问以下程序输出什么?#include<iostream.h>class Apublic:void display()cout<<"A"<<endl;class B:public Apublic:void display
13、()cout<<"B"<<endl;void f(A &r)r.display();int main()B b;f(b);A a;f(a);5. 答案:6. 多态性,虚函数。请问以下程序输出什么?#include<iostream.h>class Apublic:virtual void display()cout<<"A"<<endl;class B:public Apublic:virtual void display()cout<<"B"<&l
14、t;endl;void f(A &r)r.display();int main()B b;f(b);A a;f(a);6.答案:7. 请问以下程序输出什么?#include<iostream.h>class Apublic:virtual void display()cout<<"A"<<endl;class B:public Apublic:virtual void display()cout<<"B"<<endl;class C:public Apublic:virtual void
15、 display()cout<<"C"<<endl;int main()A a,aa;B b;C c,cc,ccc;A *pa6=&a,&aa,&b,&c,&cc,&ccc;int i=0;for(i=0;i<6;+i)pai->display();答案:8. 以下程序的屏幕输出是:。为何以下程序的屏幕输出中会输出DA呢?请说明。#include<iostream.h>class Apublic:A()cout<<"DA "class B:public Apublic:B()cout<<"DB "int main()B b;答案:定义类B对象b时,先调用基类A的构造函数,再调用派生类类B的构造函数。析构时正好相反,先析构B类,再析构A类。1答案:(1)public (2)ai (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度能源项目合同财产保全担保书范本3篇
- 2025年度个人装修贷款协议书3篇
- 二零二五年度60岁以上人员社区教育辅导劳动合同模板3篇
- 2024-2025学年新教材高中政治第3单元就业与创业单元综合提升教案新人教版选择性必修2
- 2025版智能交通管理系统建设运营履约担保合同4篇
- 2025年度喷灌系统节能改造技术合同4篇
- 2025年度在线教育平台兼职外教远程教学合同4篇
- 2025年度宿舍管理员职业发展规划聘用合同
- 二零二五年度驾校教练员职业发展承包合同3篇
- 2025年度马赛克材料研发与应用采购合同4篇
- C及C++程序设计课件
- 带状疱疹护理查房
- 公路路基路面现场测试随机选点记录
- 平衡计分卡-化战略为行动
- 国家自然科学基金(NSFC)申请书样本
- 幼儿教师干预幼儿同伴冲突的行为研究 论文
- 湖南省省级温室气体排放清单土地利用变化和林业部分
- 材料设备验收管理流程图
- 培训机构消防安全承诺书范文(通用5篇)
- (完整版)建筑业10项新技术(2017年最新版)
- 第8期监理月报(江苏版)
评论
0/150
提交评论