面向对象程序设计模拟试卷

上传人:M****1 文档编号:494266725 上传时间:2023-06-27 格式:DOC 页数:13 大小:183.01KB
返回 下载 相关 举报
面向对象程序设计模拟试卷_第1页
第1页 / 共13页
面向对象程序设计模拟试卷_第2页
第2页 / 共13页
面向对象程序设计模拟试卷_第3页
第3页 / 共13页
面向对象程序设计模拟试卷_第4页
第4页 / 共13页
面向对象程序设计模拟试卷_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《面向对象程序设计模拟试卷》由会员分享,可在线阅读,更多相关《面向对象程序设计模拟试卷(13页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计模拟试卷一一. 单选题(15)。1. 关于构造的叙述_正确:A. 最先构造虚基类B. 最先构造基类C. 最先构造派生类的对象成员D. 都不对2. 关于静态数据成员的叙述_正确:A. 公有的可在类体外初始化B. 私有的不能在类体外初始化C. 私有和保护的不能在类体外初始化 D. 都可以且必须在体外初始化3. 若派生类函数不是基类的友元,关于该函数访问基类成员_正确:A. 公有的可被派生类函数访问B. 都可以被派生类函数访问C. 公有和保护的可被派生类函数访问D. 都不对4. 关于函数的所有缺省参数的叙述_正确:A. 只能出现在参数表的最左边B. 只能出现在参数表的最右边C. 必须

2、用非缺省的参数隔开D. 都不对5. 使用friend、virtual、static说明函数的叙述_正确:A. 必须同时使用三个B. 只能同时用其中两个C只能独立单个地使用D. 都不对二. 指出各类的成员及其存取属性(20) 。 三. 指出main中每行的输出结果(20) 。#include struct AA( ) coutA;struct BB( ) coutB;struct C: AC( ) coutC;struct D: virtual B, CD( ) coutD;struct E: A C c; E( ): c( ) coutE;struct F: virtual B, C, D,

3、EF( ) coutF;void main( ) A a; coutn; B b; coutn; C c; coutn; D d; coutn; E e; coutn; F f; coutn;四. 指出以下程序的语法错误及其原因(15) 。class A static int a=0;protected: int b;public: int c; A(int); operator int( ); a(1, 2);class B: A B(int); virtual int d; int e;public: A:b; friend int operator =(B); static B(int,

4、 int); b=5;class C: Bpublic: int operator+(double);int main( )int *A:*p, i; i=a.a; i=A(4);i=b.c;p=&A:c;i=b;return ;五. 指出main变量i在每条赋值语句执行后的值(15) 。int x=2, y=x+30;struct A static int x; int y;public: operator int( ) return x-y; A operator +(int) return A(x+, y+); A(int x=:x+2, int y=:y+3) A:x=x; A:y=y

5、; int &h(int &x);int &A:h(int &x) for(int y=1; y!=1| x200) x-=21; y-=2; return x-=10;int A:x=23;void main( ) A a(54, 3), b(65), c; int i, &z=i, A:*p=&A:y; z=b.x; i=a.x; i=c.*p; i=a+; i=:x+c.y; i=a+b; b.h(i)=7;六. 为了没有误差地表示分数,定义类FRACTION来表示分数,请编程实现分数类中的除cmd外的所有函数(15)。class FRACTION /对于,numerator存分子6,d

6、enominator存分母7 int numerator, denominator; static int cmd(int x, int y);/求整数x,y的最大公约数public: int operator(const FRACTION&)const;/大于比较,例 FRACTION(int num, int den=1);/num、den各为分子和分母 FRACTION operator*( )const;/分数约简,*= FRACTION operator+(const FRACTION&)const;/加法,+= FRACTION operator*(const FRACTION&)

7、const;/乘法,*=;int FRACTION:cmd(int x, int y) int r; if(xy) r=x; x=y; y=r; while(y!=0) y=x%(r=y); x=r; return x;面向对象程序设计模拟试卷二一单项选择题 (从下列各题四个备选答案选出一个正确答案,并将其代号填在题干前的括号内。答案选错或未作选择者,该题不得分。每小题1分,共10分)( )1以下有关析构函数的叙述,选择正确的填入括号内。A. 可以进行重载可以定义为虚函数B. 不能进行重载可以定义为虚函数C. 可以进行重载不能定义为虚函数D. 不能进行重载不能定义为虚函数( )2以下有关函数缺

8、省参数的出现位置,选择正确的叙述填入括号内。A. 必须全部出现在函数参数表的左部B. 必须全部出现在函数参数表的右部C. 必须全部出现在函数参数表的中间D. 都不对( )3关于两个同名函数重载的叙述,选择最为正确的填入括号内。A. 两个函数的参数个数不同B. 两个函数对应的参数类型不同C. 两个函数的参数个数不同或对应的参数类型不同D. 都不对( )4关于inline保留字的用途,选择正确的叙述填入括号内。A. 只能用于定义成员函数B. 只能用于定义非成员函数C. 可以定义成员函数及非成员函数D. 都不对( )5关于类的构造函数的定义位置,将最为正确的叙述填入括号内。A. 只能在private

9、下定义B. 只能在protected下定义C. 只能在public下定义D. 定义位置没有限制( )6如下修饰类体中函数的返回类型,将正确的用法填入括号内。A. 同时使用static和friendB. 同时使用static和virtualC. 同时使用friend和virtualD. 不同时使用上述三个保留字中的任意两个( )7在如下关于继承的叙述中,选择正确的填入括号内。A. 私有继承用于实现类之间的ISA关系B. 保护继承用于实现类之间的ISA关系C. 公有继承用于实现类之间的ISA关系D. 都不对( )8对于用union定义的类A,选择正确的叙述填入括号内。A. 类A可以作为某个类的基类

10、B. 类A可以作为某个类的派生类C. 类A既不能作基类又不能作派生类D. 类A既可以作基类又可以作派生类( )9有关在类中声明友元函数的叙述,将正确的答案填入括号内。A. 只能在private下声明B. 只能在protected下声明C. 只能在public下声明D. 声明位置没有限制( )10在构造派生类A的对象时,选择正确的叙述填入括号内。A. 最先构造派生类A的基类B. 最先构造派生类A的虚基类C. 最先构造派生类A的数据成员对象D. 都不对二多项选择题(从下列各题四个备选答案选出二至四个正确答案,并将其代号填在题干前的括号内。答案选错或未选全者,该题不得分。每小题2分,共10分)( )

11、11将符号为分隔符的编号填入括号内。A. m B. + C. D. = ( )12将用于定义类的保留字的编号填入括号内。A. class B. struct C. intD. union ( )13将用于释放p=new int8的内存的编号填入括号内。A. free (p)B. delete pC. delete p D. sizeof p( )14将派生类成员函数可访问的基类成员编号填入括号内。A. privateB. protectedC. publicD. 所有成员( )15将不能重载的运算符函数的编号填入括号内。A. ? :B. :C. %D. 三填空题(阅读以下程序并填空。每题1分,

12、共10分)class Aclass C: A int a;int g;protected:protected: int b; int h;public:public: int c;int c;a; c;class B: protected Astruct D: B, C int d;int j;protected:protected: int e;B:b;public:d; A:c;void main(void)int f;int x;b;16对于main,对象a的私有成员为_。17对于main,对象a的保护成员为_。18对于main,对象a的公有成员为_。19对于main,对象b的私有成员为_。20对于main,对象b的保护成员为_。21对于main,对象c的保护成员为_。22对于m

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号