




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全国2006年10月高等教育自学考试全国2006年10月高等教育自学考试一、单项选择题(本大题共12小题,每小题2分,共24分)在每小题列出的四个备选1.有关C+编译指令,以下叙述正确的是( )A.C+每行可以写多条编译指令B. #include指令中的文件名可含有路径信息C.C+的编译指令可以以#或/开始D.C+中不管if后的常量表达式是否为真,该部分都需要编译2.在C+中把不返回任何类型的函数应该说明为( )A. intB. charC. voidD. double3.以下有关析构函数的叙述不正确的是( )A.析构函数没有任何函数类型B.析构函数的作用是在对象被撤销时收回先前分配的内存空间C.析构函数可以有形参D.一个类只有一个析构函数4.若Sample类中的一个成员函数说明如下:voidset(Sample&a),则Sample&a的含义是( )A.指向类Sample的名为a的指针B.a是类Sample的对象引用,用来作函数Set()的形参C.将a的地址赋给变量SetD.变量Sample与a按位与的结果作为函数Set的参数5.以下叙述错误的是( )A.基类的保护成员在公有派生类中仍然是保护成员B.基类的保护成员在派生类中仍然是保护成员C.基类的保护成员在私有派生类中是私有成员D.基类的保护成员不能被派生类的对象访问6.假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为( )A.X,Y;Y,XB.X,Y;X,YC.Y,X;X,YD.Y,X;Y,X7.下列虚基类的说明中,正确的是( )A.class virtual B:public AB.class B:virtual public AC.virtual class B:public AD.class B:public A virtual8.要实现动态联编必须( )A.通过成员名限定来调用虚函数B.通过对象名来调用虚函数C.通过派生类对象来调用虚函数D.通过对象指针或引用来调用虚函数9.在派生类中定义虚函数时,可以与基类中相应的虚函数不同的是( )A.参数类型B.参数个数C.函数名称D.函数体10.下列关于静态数据成员的描述中正确的是( )A.静态数据成员是类的所有对象所共有的B.静态数据成员要在构造函数内初始化C.类的每个对象有自己的静态数据成员D.静态数据成员不能通过类的对象调用11.与C语言printf(Hello,Worldn);语句功能相同的C+语句是( )A.coutHello,Worldn;B.coutHello,Worldn;D.cinHello,Worldn;12.实现两个相同类型数加法的函数模板的声明是( )A.add(T x,T y)B.T add(x,y)C.T add(T x,y)D.T add(T x,T y)二、填空题(本大题共8小题,每小题2分,共16分)请在每小题的空格中填上正确答案。错填、不填均无分。13.在面向对象程序设计中,将一组数据和这组数据有关的操作集合组装在一起形成对象,这个过程叫_;不同的对象可以调用相同名称的函数并导致完全不同的行为的现象称为_。14.假如一个类的名称为MyClass,则这个类缺省的构造函数名称为_;使用这个类的一个对象初始化该类的另一个对象时,可以调用_构造函数来完成此功能。15.局部对象和全局对象中,在同一程序中_生存期最长;this指针始终指向当前正在发出成员函数调用命令的_。16.所谓赋值兼容规则是指在公有派生情况下,一个_类的对象可以作为_类的对象来使用的地方。17.带有_的类称为抽象类,它只能作为_来使用。18.控制格式输入输出的操作中,函数_是设置域宽的,函数_是设置填充字符。(要求给出函数名和参数类型)19.类模板用来表达具有相同_的数据_集。20.对已有的运算符赋予多重含义,使同一运算符作用于不同类型的数据,称为_,它的实质就是_。三、改错题(本大题共5小题,每小题2分,共10分)21.下面类的定义中有一处错误,请用下横线标出错误所在行并说明出错原因。class MyClassint x=20,y;public:MyClass(int aa,int bb);int GetX();int GetY(); ;22.以下程序实现交换a,b变量的值,请用下横线标出错误所在行并给出修改意见。void swap(int m,int n) int temp=m; m=n; n=temp;void main() int a=5,b=10;swap(a,b);couta=ab=b;23.下面程序中有一处错误,请用下横线标出错误所在行并说明出错原因。class Oneprotected:int a;public:void setOne(int x)a=x;void showOne()couta=aendl;class Two:private Onepublic:void setTwo(int x)a=x;void main() Two obj;obj.setTwo(10);coutobj.a=obj.aendl;24.下面程序实现输出半径为2.5的圆的面积,但输出结果是0,找出原因并提出修改意见。class pointprivate: float x,y;public: float area( )return 0.0;const float pi=3.14159f;class circle:public pointprivate: float radius;public: void setRadius(float r)radius=r;float area()return pi*radius*radius;void main() point *p;circle c;c.setRadius(2.5);p=&c;coutThe area of circle isarea()x-; 四、完成程序题(本大题共5小题,每小题4分,共20分)26.为使下列程序输出结果为:Y=1,Y=3,Z=5请在横线处填上适当的字句,以使程序完整。#include class B private:int Y;public: B(int y=0) Y=y; void print() coutY=Y,; ;class D: public Bprivate:B b;int Z;public:D (int x,int y, int z):B(x),b(y) Z=z; void print() _; /打印基类B中的成员Y_; /打印类成员b中的Y值cout Z=Zendl; ; void main() D d(1,3,5); d.print(); 27. 在下面横线处填上适当字句,完成求最大值函数模板的定义。#include template T Max(T x, T y)return ( xy ? x : y );_T Max(T x, T y, T z)T t = Max(x,y);return ( _ ); void main()int x; double y;x = Max(5,6); y = Max(12.3, 3.4, 7.8);cout x= x y= y endl;28.在下面横线处填上适当字句,完成Distance函数的定义。#include #include class Pointprivate:double X,Y;public:Point(double x=0, double y=0) X=x;Y=y;void Move(double x, double y) X=x; Y=y; friend double Distance(Point &p1, Point &p2); /计算两点间距;double Distance(Point &p1, Point &p2) double dx = _;double dy = _;return sqrt(dx*dx+dy*dy);void main()Point a(1,1);Point b(a);b.Move(4,5);cout Distance(a,b) endl; 29.为使下列程序输出结果为:Af()Bf()Cf()请在横线处填上适当的字句,以使程序完整。#include class A public: _ coutA:f()n; ;class B:public A public: void f() coutB:f()n; ;class C:public A public: void f() coutf(); p=&b; p-f(); p=&c; p-f(); 30.在下面横线处填上适当字句,完成类成员函数的定义。#include class Complex private: float real, imag;public:Complex(float r=0, float i=0 ) real=r; imag=i;void Display() cout 0) cout+imagi ;else if (imag0) coutimagi ;cout endl;Complex operator+ (Complex &b );friend Complex operator- ( Complex &a, Complex &b ); ; Complex Complex:operator+ (Complex &b) Complex *t = new Complex ( _ ); return *t; Complex operator- ( Complex &a, Complex &b ) Complex *t = new Complex ( _ ); return *t; void main()Complex c1(4.0,5.0),c2(2.0,-5.0),c3;c3=c1+c2;c3.Display();c3=c1-c2;c3.Display();五、程序分析题(本大题共6小题,每小题5分,共30分)31.写出下面程序的输出结果。#include #include int i=1; void other(void)static int a=2, b;int c=10; a=a+1; i=i+3; c=c+5;coutsetw(5)isetw(5)asetw(5)bsetw(5)cendl;b=a;void main(void) static int a; int b=-5, c=0;void other(void);couti a b cn;coutsetw(5)isetw(5)asetw(5)bsetw(5)cendl;c=c+8; other();coutsetw(5)isetw(5)asetw(5)bsetw(5)cendl;i=i+10; other(); 32.写出下面程序的输出结果。#include class Aprivate:int X,Y;public:A() X=Y=0;coutDefault Constructor called.endl; A(int xx,int yy) X=xx;Y=yy; cout Constructor called.endl; A() coutDestructor called.endl; ;void main()A *p1=new A;delete p1; p1=new A(1,2);delete p1;33.写出下面程序的输出结果。#include class A private: int a; public: void set( int x) a = x; void show() couta=a,; ; class B: public A private: int b; public: void set(int x=0) A:set(x);b=x; void set(int x, int y) A:set(x); b=y; void show() A:show(); coutb=bendl; ; void main() B b; b.set(12); b.show();b.set(34,56); b.show(); 34.写出下面程序的输出结果。#include class Aprivate:const int a;static int b;public:A(int i):a(i),r(a) b+; void print() couta,b,rendl; const int& r;int A:b=0; void main() A a1(33); a1.print();A a2(44); a2.print();35.写出下面程序的输出结果。#include void main(void) int n=6, k;cout n Factors ;for (k=2; k n; k+)if (n % k = 0)cout k ;cout endl;36.写出下面程序的输出结果。#include class B public:virtual int f() return 0; ;class D: public B public:int f() return 100; ;void main() D d;B& b = d;cout b.f() endl;cout b.B:f() endl;全国2006年10月高等教育自学考试(一、1B 2C 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45982.2-2025第二代高温超导体微连接第2部分:焊接与试验人员资格
- 森林灭火知识培训内容课件
- 初级电焊工理论考试题及答案
- 2025《机械员》考试题库附答案(综合题)
- 2025年草原生态修复师高级面试题集锦
- 2025年注册验船师资格考试(A级船舶检验专业案例分析)综合练习题及答案二
- 2025公务员(国考)考试题库(及答案)
- 解数第293期:2025年618第一波回顾:从618数据看懂消费趋势
- 2025年殡仪馆工作人员职责与工作流程面试题
- 2026届江苏省泰州市兴化市第一中学化学高一第一学期期末监测试题含解析
- 危险化学品(储存、生产、使用)企业安全风险辨识分级管控清单
- 幼儿园劳务分包合同范本
- 第二语言习得研究要略
- 核工程与核技术毕业设计(论文)闪烁探测器探测效率与γ射线能量关系的数值模拟
- 期货交易基础知识测试题库
- 混凝土搅拌站安全预评价报告
- 高一第一堂班会课
- 【学生生涯规划系列】高一上学期生涯规划讲座课件
- 焊接工艺要求
- JJF(电子) 31502-2010 静电腕带/脚盘测试仪校准规范-(高清现行)
- 国学武术操太极拳表演活动流程
评论
0/150
提交评论