西安石油大学大二(上)C++面向对象程序设计课件各章习题(8)
习题5
基本概念题: 9.1 填空题:
(1)派生类的成员函数可以直接访问基类的 成员,不能直接访问基类的 ______成员。
(2)当保护继承时,基类的 成员在派生类中成为保护成员,派生类对象不能直接访问基类的 ____成员。
(3)在定义一个派生类时,使用__________关键字或者不显式地使用它则表示为__________继承。
(4)若多个基类及其派生类中都定义了同名成员函数,要访问相应函数时,就需要在函数名前加上______和类区分符。
(5)若要保证一个公共的基类在派生类中只产生一个基类子对象,则必须都以____________的方式直接继承它。
9.2 选择题:
(1)从一个基类派生出的各个类的对象之间( )。
A. 共享所有成员变量,每个对象还包含基类的所有属性 B. 共享部分成员变量,每个对象还包含基类的所有属性 C. 不共享任何成员变量,但每个对象还包含基类的所有属性 D. 共享部分成员变量和成员函数
(2)如果是类B在类A的基础上构造,那么,就称( )。 A. 类A为基类或父类,类B为超类或子类
B. 类A为基类、父类或超类,类B为派生类或子类 C. 类A为派生类,类B为基类
D. 类A为派生类或子类,类B为基类、父类或超类 (3)C++的继承性允许派生类继承基类的( )。
A. 部分特性,并允许增加新的特性或重定义基类的特性 B. 部分特性,但不允许增加新的特性或重定义基类的特性 C. 所有特性,并允许增加新的特性或重定义基类的特性 D. 所有特性,但不允许增加新的特性或重定义基类的特性 (4)派生类的成员函数可以直接访问基类的( )成员。
A. 所有 B. 公有和保护 C. 保护和私有 D. 私有 (5)对于公有继承,基类的公有和保护成员在派生类中将( )成员。 A. 全部变成公有 B. 全部变成保护
C. 全部变成私有 D. 仍然相应保持为公有和保护 (7)对于公有继承,基类中的私有成员在派生类中将 ( )。
A. 能够直接使用成员名访问 B. 能够通过成员运算符访问
26
C. 仍然是基类的私有成员 D. 变为派生类的私有成员
(8)当保护继承时,基类的( )在派生类中成为保护成员,在类作用域外不能够通过派生类的对象来直接访问该成员。
A. 任何成员 B.公有成员和保护成员 C. 保护成员和私有成员 D.私有成员
(9)在定义一个派生类时,若不使用保留字显式地规定采用何种继承方式,则默认为( )方式。
A. 私有继承 B. 非私有继承 C. 保护继承 D. 公有继承
(10)建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为( )的构造函数。
A. 自己所属类、对象成员所属类、基类 B. 对象成员所属类、基类、自己所属类 C. 基类、对象成员所属类、自己所属类 D. 基类、自己所属类、对象成员所属类
(11)当派生类中有和基类一样名字的成员时,一般来说,( )。
A. 将产生二义性 B. 派生类的同名成员将覆盖基类的成员 C. 是不能允许的 D. 基类的同名成员将覆盖派生类的成员 (12)C++中的虚基类机制可以保证:( )。 A. 限定基类只通过一条路径派生出派生类
B. 允许基类通过多条路径派生出派生类,派生类也就能多次继承该基类 C. 当一个类多次间接从基类派生后,派生类对象能保留多份间接基类的成员 D. 当一个类多次间接从基类派生后,其基类只被一次继承 (13)下列对派生类的描述中错误的说法是:( )。 A. 派生类至少有一个基类
B. 派生类可作为另一个派生类的基类
C. 派生类除了包含它直接定义的成员外,还包含其基类的成员 D. 派生类所继承的基类成员的访问权限保持不变 (14)派生类的对象对其基类中( )可直接访问。 A. 公有继承的公有成员 B. 公有继承的私有成员 C. 公有继承的保护成员 D. 私有继承的公有成员
9.3 什么叫基类?什么叫派生类?基类中保护成员的访问权限有什么意义? 9.4 公有继承、私有继承和保护继承方式下,基类中的私有成员、保护成员和公有成员,在派生类内和在类外两种情况下的访问权限是什么? 9.5 某个类的对象能直接调用该类的私有成员和保护成员吗? 9.6 什么叫派生类中的基类子对象?
9.7 从基类公有继承产生派生类时,基类中的构造函数和析构函数能被派生类继承吗?
27
9.8 怎样设计派生类的构造函数?
9.9 什么叫派生类覆盖基类的成员函数?派生类覆盖基类的成员函数有什么设计要求?
9.10 什么叫派生类重载基类的成员函数?派生类重载基类的成员函数有什么设计要求?
9.11 叙述基类和派生类的赋值兼容规则。赋值兼容规则有什么意义?
9.12 12.比较派生类对基类成员函数重载和派生类对基类成员函数覆盖两者的相同点和不同点。
9.13 什么叫多重继承?什么叫公共基类?举例说明多重继承中成员变量的二义性问题和成员函数的二义性问题。
9.14 什么叫虚基类?怎样解决多重继承中成员变量的二义性问题?怎样解决多重继承中成员函数的二义性问题?
9.15 下面的类中,哪些成员函数是重载?哪些成员函数是覆盖?
class Car { public: };
class SportsCar: public Car { public: };
SportsCar() {}
SportsCar(int s) {}
void f(int c) {}
void f(float d) {} Car() {}
void f(int c) {}
void d() {}
9.16 对于上题的Car类和SportsCar类,如果增加如下主函数,说明系统匹配各对象调用的成员函数分别是什么?
void main(void)
28
{ Car myCar;
SportsCar mySportsCar; int c = 5; float d = 5.0; myCar.f(c); mySportsCar.f(c); mySportsCar.f(d); mySportsCar.d();
}
程序阅读和设计题:
9.17 阅读程序,给出运行结果: (1)
#include \class A {
private: int a,b; public:
A(int i,int j) { a=i; b=j;
}
void move(int x,int y) { a+=x; b+=y; }
void show() { cout<
};
class B: private A {
private:
29
int x,y;
public:
B(int i,int j,int k,int l):A(i,j) { x=k; y=l;
}
void show() { cout< void fun() { move(2,4); } void f1() { A::show(); } }; void main() { A a1(10,10); a1.show(); B b1(5,5,6,6); b1.fun(); b1.show(); b1.f1(); } 2) #include } ~Point() { 30
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




