2022年《面向对象程序设计Ⅱ》期末复习资料 .pdf
《2022年《面向对象程序设计Ⅱ》期末复习资料 .pdf》由会员分享,可在线阅读,更多相关《2022年《面向对象程序设计Ⅱ》期末复习资料 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计期末复习资料之二:继承专项练习1 面向对象程序设计期末复习资料之二:继承一、选择题1在 c+中,类之间的继承关系具有()。(C)A自反性B对称性C传递性D反对称性2下列关于类的继承描述中,()是正确的。(D)A 派生类公有继承基类时,可以访问基类的所有数据成员,调用所有成员函数B 派生类也是基类,所以它们是等价的C 派生类对象不会建立基类的私有数据成员,所以不能访问基类的私有数据成员D 一个基类可以有多个派生类,一个派生类可以有多个基类3当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的()。(A)A public 成员Bprivate 成员C protected
2、 成员D友员4当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的()。(B)A public 成员Bprivate 成员C protected 成员D友员5当一个派生类保护继承一个基类时,基类中的所有公有成员和保护成员成为派生类的()。(C)A public 成员Bprivate 成员C protected 成员D友员6不论派生类以何种方式继承基类,都不能直接使用基类的()。(B)A public 成员Bprivate 成员C protected 成员Dpublic 成员和 protected 成员7下面描述中,错误的是()。(D)A在基类定义的public 成员在公有
3、继承的派生类中可见,也能在类外被访问B 在基类定义的protected 成员在私有继承的派生类中可见C 在基类定义的静态成员在私有继承的派生类中可见D 访问声明可以在公有继承派生类中把基类的public 成员声明为private 成员8在 c+中,可以被派生类继承的函数是()。(A)A 成员函数B构造函数C 析构函数D友员函数9在创建派生类对象时,构造函数的执行顺序是()。(D)A 对象成员构造函数、基类构造函数、派生类本身的构造函数B 派生类本身的构造函数、基类构造函数、对象成员构造函数C 基类构造函数、派生类本身的构造函数、对象成员构造函数D 基类构造函数、对象成员构造函数、派生类本身的构
4、造函数10当不同的类具有相同的间接基类时,有特点()。(C)A 各派生类对无法按继承路线产生自己的基类版本B 为了建立惟一的间接基类版本,应该声明间接基类为虚类C 为了建立惟一的间接基类版本,应该声明派生类虚继承基类D 一旦声明虚继承,基类的性质就改变了,不能再定义新的派生类二、阅读下列程序,写出执行结果1#include class Base 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 7 页 -面向对象程序设计期末复习资料之二:继承专项练习2 public:void get(int i,int j,int k,int l)a=i;b=j;x=k;y=l;void prin
5、t()cout a=a t b=b t x=x t y=y endl;int a,b;protected:int x,y;class A:public Base public:void get(int i,int j,int k,int l)Base obj3;obj3.get(50,60,70,80);obj3.print();a=i;b=j;x=k;y=l;u=a+b+obj3.a;v=y-x+obj3.b;void print()cout a=a t b=b t x=x t y=y endl;cout u=u t v=v endl;private:int u,v;void main()B
6、ase obj1;A obj2;obj1.get(10,20,30,40);obj2.get(30,40,50,60);obj1.print();obj2.print();参考答案:a=50 b=60 x=70 y=80 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 7 页 -面向对象程序设计期末复习资料之二:继承专项练习3 a=10 b=20 x=30 y=40 a=30 b=40 x=50 y=60 u=120 v=70 2.#include class Base1 public:Base1(int i)cout 调用基类 Base1 的构造函数:i endl;class
7、Base2 public:Base2(int j)cout 调用基类 Base2 的构造函数:j endl;class A:public Base1,public Base2 public:A(int a,int b,int c,int d):Base2(b),Base1(c),b2(a),b1(d)cout 调用派生类A 的构造函数:a+b+c+d endl;private:Base1 b1;Base2 b2;void main()A obj(1,2,3,4);参考答案:调用基类 Base1的构造函数:3 调用基类 Base2的构造函数:2 调用基类 Base1的构造函数:4 调用基类 Ba
8、se2构造函数:1 调用派生类 A 的构造函数:10 3#include class A public:A(int i,int j)a=i;b=j;void Add(int x,int y)a+=x;b+=y;void show()cout(a)t(b)n;private:名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 7 页 -面向对象程序设计期末复习资料之二:继承专项练习4 int a,b;class B:public A public:B(int i,int j,int m,int n):A(i,j),x(m),y(n)void show()cout(x)t(y)n;voi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计 2022年面向对象程序设计期末复习资料 2022 面向 对象 程序设计 期末 复习资料
限制150内