ImageVerifierCode 换一换
格式:DOC , 页数:25 ,大小:74.50KB ,
资源ID:1367339      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1367339.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【学历类职业资格】C++程序设计自考题-2及答案解析.doc)为本站会员(Iclinic170)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【学历类职业资格】C++程序设计自考题-2及答案解析.doc

1、C+程序设计自考题-2 及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:20,分数:20.00)1.在下列成对的表达式中,运算结果类型相同的一对是( )A7.0/2.0 和 7.0/2 B5/2.0 和 5/2C7.0/2 和 7/2 D8/2 和 6.0/2.0(分数:1.00)A.B.C.D.2.所谓数据封装就是将一组数据和与这组数据有关的操作组装在一起,形成一个实体,这实体也就是( )A类 B对象C函数体 D数据块(分数:1.00)A.B.C.D.3.面向对象程序设计语言必须具备的关键要素是( )A抽象和封装 B抽象和多态性C抽象、封装、继承和多态性 D抽象

2、封装和继承性(分数:1.00)A.B.C.D.4.C+中分配动态存储空间,使用的关键字为( )Afree BcreateCdelete Dnew(分数:1.00)A.B.C.D.5.int Func(int,int);不可与下列哪个函数构成重载( )Aint Func(int,int,int); Bdouble Func(int,int);Cdouble Func(double,double); Ddouble Func(int,double);(分数:1.00)A.B.C.D.6.C+允许在结构中定义函数,这些函数称为( )A静态函数 B构造函数C析构函数 D成员函数(分数:1.00)A.

3、B.C.D.7.下列哪种默认参数的声明是不正确的( )Aint max(int a,int b,int c,int d=0); Bint max(int a,int b,int c=0,int d=0);Cint max(int a=0,int b,int c=0,int d=0); Dint max(int a,int b=0,int c=0,int d=0);(分数:1.00)A.B.C.D.8.设函数 void subone(int&)将形参减 1,如有整型变量 int k=10,则执行 subone(k);后,k 的值为( )A9 B10C11 D未知(分数:1.00)A.B.C.D.

4、9.设有函数模板templateclass QQ Sum(Q x,Q y)return(x)+(y);则下列语句中对该函数模板的使用错误的是( )ASum(10,2); BSum(5.0,6.7);CSum(15.2f,16.0f); DSum(“AB“,“CD“);(分数:1.00)A.B.C.D.10.下列说法中正确的是( )A类定义中只能说明成员函数的函数头,不能定义函数体B类中的成员函数可以在类体中定义,也可以在类体之外定义C类中的成员函数在类体之外定义时必须要与类声明在同一文件中D在类体之外定义的成员函数不能操作该类的私有数据成员(分数:1.00)A.B.C.D.11.假定一个类的构

5、造函数为“A(int i=4,int j=0)a=i;b=j;”,则执行“A x(1);”语句后,x.a 和x.b的值分别为( )A1 和 0 B1 和 4C4 和 0 D4 和 1(分数:1.00)A.B.C.D.12.类的构造函数被自动调用执行的情况是在定义该类的( )A成员函数时 B数据成员时C对象时 D友元函数时(分数:1.00)A.B.C.D.13.一个类拥有多个构造函数,则这些构造函数间为( )A重载关系 B重复关系C拷贝关系 D无关系(分数:1.00)A.B.C.D.14.包含哪种语句的函数不能声明为内联函数( )A变量定义 BifelseC位操作 Dswitch(分数:1.00

6、A.B.C.D.15.若公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的( )A私有成员 B公有成员C保护成员 D保护成员或私有成员(分数:1.00)A.B.C.D.16.类 B是类 A的公有派生类,类 A和类 B中都定义了虚函数 func(),p 是一个指向类 A对象的指针,则p-A:func()将( )A调用类 A中的函数 func()B调用类 B中的函数 func()C根据 p所指的对象类型而确定调用类 A中或类 B中的函数 func()D既调用类 A中函数,也调用类 B中的函数(分数:1.00)A.B.C.D.17.下列不具有访问权限属性的是( )A非类

7、成员 B类成员C数据成员 D成员函数(分数:1.00)A.B.C.D.18.在类定义中 private、protected、public 关键词出现的次数为( )A任意多次 B至多一次Cpublic 至少出现一次 D至少一次(分数:1.00)A.B.C.D.19.如果表达式 y*x+中,“*”是作为成员函数重载的运算符,“+”是作为友元函数重载的运算符,采用运算符函数调用格式时,该表达式应表示为( )Ax.operator+(0).operator*(y) Boperator*(x.operator+(0),y)Cy.operator*(operator+(x,0) Doperator*(op

8、erator+(x,0),y)(分数:1.00)A.B.C.D.20.设类 Test中存在成员 static int x;,则下列哪种初始化方式是正确的( )ATest:int x=25; Bint x=25;Cint Test:x=25; Dint Test x=25;(分数:1.00)A.B.C.D.二、填空题(总题数:20,分数:20.00)21.在 C+语言的面向对象设计框架中, 1 是程序的基本组成单元。(分数:1.00)填空项 1:_22.表达式 couthex 还可表示为 1。(分数:1.00)填空项 1:_23.若要访问指针变量 p所指向的数据,应使用表达式 1。(分数:1.0

9、0)填空项 1:_24.如果使用数组名作为函数参数,形实结合时,传递的是 1。(分数:1.00)填空项 1:_25.在类中, 1 成员为类的所有对象所共享。(分数:1.00)填空项 1:_26.假定用户没有给一个名为 AB的类定义构造函数,则系统自动给出的缺省构造函数定义为 1。(分数:1.00)填空项 1:_27.函数模板中紧随 template之后尖括号内的类型参数都要冠以保留字 1。(分数:1.00)填空项 1:_28.在用 C+进行程序设计时,最好用 1 代替 malloc。(分数:1.00)填空项 1:_29.在 C+中,访问指针所指向的对象的成员使用 1 运算符。(分数:1.00)

10、填空项 1:_30.友元函数可以存取类的私有成员、公有成员和 1。(分数:1.00)填空项 1:_31.由 const修饰的对象称为 1。(分数:1.00)填空项 1:_32.通过 C+语言中的 1 机制,可以从现存类中构建其子类。(分数:1.00)填空项 1:_33.在派生类中实现基类成员的初始化,需要由派生类的构造函数调用 1 来完成。(分数:1.00)填空项 1:_34.静态成员函数是 1 的成员,不是对象的成员。(分数:1.00)填空项 1:_35.类的私有成员只能被它的成员函数和 1 访问。(分数:1.00)填空项 1:_36.与操作对象的数据类型相互独立的算法称为 1。(分数:1.

11、00)填空项 1:_37.C+重载“=”运算符的函数名是 1。(分数:1.00)填空项 1:_38. 1是 istream类的对象,用于处理标准输入,即键盘输入。(分数:1.00)填空项 1:_39.UML中实例连接反映对象之间的静态关系,消息连接描述对象之间的 1 关系。(分数:1.00)填空项 1:_40.运算符“+”允许重载为类的成员函数,或者非成员函数。若用 operator+(c1,c2)这样的表达式来使用运算符“+”,应将“+”重载为 1 函数。(分数:1.00)填空项 1:_三、改错题(总题数:5,分数:20.00)41.class ABCint a;public:ABC(int

12、 aa)a(aa);(分数:4.00)填空项 1:_42.下面程序通过调用函数模板实现计算两个正整数的最大公约数,把 main函数中的错误找出并改正过来。#includeiostream.htemplateclass TT gcd(T x,T y)while(x!=y)if(xy)x-=y;else y-=x;return x;void main()int a;double d;cinad:coutgcd(a,d)endl;(分数:4.00)填空项 1:_43.#includeiostream.hclass Apublic:void A()const int f5()constreturn 5

13、int Obj()return 45;int val;int f8();int A:f8()return val;void main()const A s;int i=s.f5();cout“Value=“iendl:(分数:4.00)填空项 1:_44.#includeiostream.hclass shapepublic:virtual int area()return 0;class rectangle:public shapepublic:int a,b;void setLength(int x,int y)a=x;b=y;int area()return a*b;void main

14、)rectangle r;r.setLength(3,5);shape s1,*s2=r;coutr.area()endl;s2=s1;couts2.area()endl;(分数:4.00)填空项 1:_45.#includeiostream.hclass Atonint X,Y;protected:int zx,zy;public:void init(int i,int j)zx=i;zy=j;Aton(int i,int j,int n=0,int m=0)X=i,Y=j,zx=m,zy=n;:void main()Aton A(25,20,3,5);A.init(5,9);coutAX

15、endl:(分数:4.00)填空项 1:_四、完成程序题(总题数:5,分数:20.00)46.在下面程序的横线处填上适当内容,使程序执行结果为:“hello,andylin“。#includeiostream#includestring.husing namespace std;class mystringpublic:char*pdata;mystring(int len)pdata=new charlen+1;mystring()delete pdata;void show()coutpdataendl;void fun(mystring*array,int len)mystring*ol

16、d=*array;_memcpy(*array,old,len);void main()mystring str(20);mystring*pstr=&str;mystring*ppstr=&pstr;strcpy(str.pdata,“hello,andylin“);fun(ppstr,20);_(分数:4.00)_47.在下面程序横线处填上适当内容,使程序执行结果为:200_ _100。#includeiostream.htemplateclass TT f(_)if(_)return x+y;elsereturn x*y;void main()coutf(10,20)“_ _“f(45.

17、5,54.5)endl;(分数:4.00)_48.在下面程序的横线处填上适当内容,使程序执行结果为:S=2S=5S=9#includeiostream.hvoid sum(int i)static int s;cout“s=“sendl:void main(void)int i;for(i=0;_)sum(i);(分数:4.00)_49.在下面程序的横线处填上适当内容,以使该程序执行结果为:50 4 34 21 100 7.1 8.1 9.1 10.1 11.1#includeiostream.htemplateclass Tvoid f(_)_for(int i=0;in/2;i+)t=ai

18、ai=an-1-i;an-1-i=t;void main()int a5=10,21,34,4,50;double d6=11.1,10.1,9.1,8.1,7.1;f(a,5);f(d,6);for(int i=0;i5;i+)coutai“ “;coutendl;for(i=0;i6;i+)coutdi“ “;coutendl;(分数:4.00)_50.在下面程序的横线处填上适当内容,完成类的定义。class line;class boxprivate:int color;int upx,upy;int lowx,lowy;public:_void set_color(int c)col

19、or=c;void define_box(int x1,int y1,int x2,int y2)upx=x1;upy=y1;lowx=x2;lowy=y2;class lineprivate:int color;int startx,starty;int endx,endy;public:friend int same_color(line l,box b);void set_color(int c)color=c;void define_line(_)startx=x1;starry=y1;endx=x2;endy=y2;int same_color(line l,box b)if(l.c

20、olor=b.color)return 1;return 0;(分数:4.00)_五、程序分析题(总题数:2,分数:10.00)51.运行程序,写出程序执行的结果。#includeiostream.hvoid main()int a,b;char ch;cinachb;/从键盘上输入 1.5 c 10coutaendlchendlbendl;(分数:5.00)_52.运行程序,写出程序执行的结果。#includeiostream.hclass Testprivate:static int val;int a;public:static int func();static void sfunc(

21、Test &r);int Test:val=20:int Test:func()val-;return val;void Test:sfunc(Test &r)r.a=25;cout“Result3=“r.aendl;void main()cout“Resuh1=“Test:func()endl;Test a;cout“Result2=“a.func()endl;Test:sfunc(a);(分数:5.00)_六、程序设计题(总题数:1,分数:10.00)53.已定义一个 Shape抽象类,在此基础上派生出矩形 Rectangle和圆形 Circle类,二者都有 GetPerim()函数计算对

22、象的周长,并编写测试 main()函数。#includeiostreamusing namespace std;class Shapepublic:Shape()Shape()virtual float GetPerim()=0;(分数:10.00)_C+程序设计自考题-2 答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:20,分数:20.00)1.在下列成对的表达式中,运算结果类型相同的一对是( )A7.0/2.0 和 7.0/2 B5/2.0 和 5/2C7.0/2 和 7/2 D8/2 和 6.0/2.0(分数:1.00)A. B.C.D.解析:2.所谓数据封

23、装就是将一组数据和与这组数据有关的操作组装在一起,形成一个实体,这实体也就是( )A类 B对象C函数体 D数据块(分数:1.00)A. B.C.D.解析:解析 本题主要考查的知识点为类的概念。要点透析 类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。3.面向对象程序设计语言必须具备的关键要素是( )A抽象和封装 B抽象和多态性C抽象、封装、继承和多态性 D抽象、封装和继承性(分数:1.00)A.B.C. D.解析:解析 本题主要考查的知识点为面向对象程序设计的基本特征。要点透析 面向对象有四个基本特征。抽象:是对对象的特征的描述;封装:数据的安全;继承:类的扩充;多态性:统一接

24、口。4.C+中分配动态存储空间,使用的关键字为( )Afree BcreateCdelete Dnew(分数:1.00)A.B.C.D. 解析:5.int Func(int,int);不可与下列哪个函数构成重载( )Aint Func(int,int,int); Bdouble Func(int,int);Cdouble Func(double,double); Ddouble Func(int,double);(分数:1.00)A.B. C.D.解析:解析 主要考查的知识点为函数重载。要点透析 不能以形参名来区分函数;不能以函数返回值来区分函数。必须是形参的个数或者类型不同才能构成函数重载。

25、6.C+允许在结构中定义函数,这些函数称为( )A静态函数 B构造函数C析构函数 D成员函数(分数:1.00)A.B.C.D. 解析:7.下列哪种默认参数的声明是不正确的( )Aint max(int a,int b,int c,int d=0); Bint max(int a,int b,int c=0,int d=0);Cint max(int a=0,int b,int c=0,int d=0); Dint max(int a,int b=0,int c=0,int d=0);(分数:1.00)A.B.C. D.解析:解析 本题主要考查的知识点为默认参数。要点透析 如果一个函数中有多个参

26、数,则默认参数应从右至左逐个定义。C 项中参数 a设置了默认值,则其右边的参数 b、c、d 都应设置默认值。C 项错误。8.设函数 void subone(int&)将形参减 1,如有整型变量 int k=10,则执行 subone(k);后,k 的值为( )A9 B10C11 D未知(分数:1.00)A. B.C.D.解析:解析 主要考查的知识点为引用作为函数参数。要点透析 引用作为函数参数时,形参与实参表示同一变量,所以改变形参的值时,实参的值也被改变。9.设有函数模板templateclass QQ Sum(Q x,Q y)return(x)+(y);则下列语句中对该函数模板的使用错误的

27、是( )ASum(10,2); BSum(5.0,6.7);CSum(15.2f,16.0f); DSum(“AB“,“CD“);(分数:1.00)A.B.C.D. 解析:解析 本题主要考查的知识点为函数模板。要点透析 由 Q Sum(Q x,Q y)可知形参和函数返回值都是同一种数据类型。A、B、C 三项都正确。而 D项用字符串作为实参,字符串的操作与数值类型不同,要用特殊方法进行字符串的连接和运算。10.下列说法中正确的是( )A类定义中只能说明成员函数的函数头,不能定义函数体B类中的成员函数可以在类体中定义,也可以在类体之外定义C类中的成员函数在类体之外定义时必须要与类声明在同一文件中D

28、在类体之外定义的成员函数不能操作该类的私有数据成员(分数:1.00)A.B. C.D.解析:11.假定一个类的构造函数为“A(int i=4,int j=0)a=i;b=j;”,则执行“A x(1);”语句后,x.a 和x.b的值分别为( )A1 和 0 B1 和 4C4 和 0 D4 和 1(分数:1.00)A. B.C.D.解析:12.类的构造函数被自动调用执行的情况是在定义该类的( )A成员函数时 B数据成员时C对象时 D友元函数时(分数:1.00)A.B.C. D.解析:解析 本题主要考查的知识点为构造函数的调用。要点透析 创建对象时,系统自动调用构造函数初始化对象。而成员函数、友元函

29、数需要用户直接调用。本题选 C。13.一个类拥有多个构造函数,则这些构造函数间为( )A重载关系 B重复关系C拷贝关系 D无关系(分数:1.00)A. B.C.D.解析:14.包含哪种语句的函数不能声明为内联函数( )A变量定义 BifelseC位操作 Dswitch(分数:1.00)A.B.C.D. 解析:解析 主要考查的知识点为内联函数。要点透析 C+中,含有循环语句、switch 语句的函数不能说明为内联函数。15.若公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的( )A私有成员 B公有成员C保护成员 D保护成员或私有成员(分数:1.00)A. B.C.D

30、解析:解析 本题主要考查的知识点为基类私有成员在派生类中的访问权限。要点透析 基类的私有成员在派生类中是隐藏的,只能在基类内部访问。16.类 B是类 A的公有派生类,类 A和类 B中都定义了虚函数 func(),p 是一个指向类 A对象的指针,则p-A:func()将( )A调用类 A中的函数 func()B调用类 B中的函数 func()C根据 p所指的对象类型而确定调用类 A中或类 B中的函数 func()D既调用类 A中函数,也调用类 B中的函数(分数:1.00)A. B.C.D.解析:17.下列不具有访问权限属性的是( )A非类成员 B类成员C数据成员 D成员函数(分数:1.00)A

31、 B.C.D.解析:解析 本题主要考查的知识点为访问权限。要点透析 类成员包括成员函数和数据成员,都可以使用访问权限 public、private 和 protected来修饰,而普通的变量不能使用访问权限来说明。18.在类定义中 private、protected、public 关键词出现的次数为( )A任意多次 B至多一次Cpublic 至少出现一次 D至少一次(分数:1.00)A. B.C.D.解析:解析 本题主要考查的知识点为类成员的访问权限。要点透析 访问权限可以反复使用,只不过经常把同一种访问权限的成员放在一起。19.如果表达式 y*x+中,“*”是作为成员函数重载的运算符,“+

32、是作为友元函数重载的运算符,采用运算符函数调用格式时,该表达式应表示为( )Ax.operator+(0).operator*(y) Boperator*(x.operator+(0),y)Cy.operator*(operator+(x,0) Doperator*(operator+(x,0),y)(分数:1.00)A.B.C. D.解析:20.设类 Test中存在成员 static int x;,则下列哪种初始化方式是正确的( )ATest:int x=25; Bint x=25;Cint Test:x=25; Dint Test x=25;(分数:1.00)A.B.C. D.解析:二、

33、填空题(总题数:20,分数:20.00)21.在 C+语言的面向对象设计框架中, 1 是程序的基本组成单元。(分数:1.00)填空项 1:_ (正确答案:类)解析:22.表达式 couthex 还可表示为 1。(分数:1.00)填空项 1:_ (正确答案:coutsetioflags(ios:hex))解析:23.若要访问指针变量 p所指向的数据,应使用表达式 1。(分数:1.00)填空项 1:_ (正确答案:*p)解析:24.如果使用数组名作为函数参数,形实结合时,传递的是 1。(分数:1.00)填空项 1:_ (正确答案:首地址)解析:25.在类中, 1 成员为类的所有对象所共享。(分数:

34、1.00)填空项 1:_ (正确答案:类的静态)解析:26.假定用户没有给一个名为 AB的类定义构造函数,则系统自动给出的缺省构造函数定义为 1。(分数:1.00)填空项 1:_ (正确答案:AB-|_|-)解析:27.函数模板中紧随 template之后尖括号内的类型参数都要冠以保留字 1。(分数:1.00)填空项 1:_ (正确答案:class)解析:28.在用 C+进行程序设计时,最好用 1 代替 malloc。(分数:1.00)填空项 1:_ (正确答案:new)解析:29.在 C+中,访问指针所指向的对象的成员使用 1 运算符。(分数:1.00)填空项 1:_ (正确答案:-)解析:

35、30.友元函数可以存取类的私有成员、公有成员和 1。(分数:1.00)填空项 1:_ (正确答案:保护成员)解析:31.由 const修饰的对象称为 1。(分数:1.00)填空项 1:_ (正确答案:常对象)解析:32.通过 C+语言中的 1 机制,可以从现存类中构建其子类。(分数:1.00)填空项 1:_ (正确答案:继承)解析:33.在派生类中实现基类成员的初始化,需要由派生类的构造函数调用 1 来完成。(分数:1.00)填空项 1:_ (正确答案:初始化列表)解析:34.静态成员函数是 1 的成员,不是对象的成员。(分数:1.00)填空项 1:_ (正确答案:类)解析:35.类的私有成员

36、只能被它的成员函数和 1 访问。(分数:1.00)填空项 1:_ (正确答案:友元)解析:36.与操作对象的数据类型相互独立的算法称为 1。(分数:1.00)填空项 1:_ (正确答案:泛型算法)解析:37.C+重载“=”运算符的函数名是 1。(分数:1.00)填空项 1:_ (正确答案:operator=)解析:38. 1是 istream类的对象,用于处理标准输入,即键盘输入。(分数:1.00)填空项 1:_ (正确答案:cin)解析:39.UML中实例连接反映对象之间的静态关系,消息连接描述对象之间的 1 关系。(分数:1.00)填空项 1:_ (正确答案:动态)解析:40.运算符“+”

37、允许重载为类的成员函数,或者非成员函数。若用 operator+(c1,c2)这样的表达式来使用运算符“+”,应将“+”重载为 1 函数。(分数:1.00)填空项 1:_ (正确答案:非成员)解析:三、改错题(总题数:5,分数:20.00)41.class ABCint a;public:ABC(int aa)a(aa);(分数:4.00)填空项 1:_ (正确答案:ABC(int aa)a(aa)初始化列表格式错误。应改为 ABC(int aa):a(aa)。)解析:42.下面程序通过调用函数模板实现计算两个正整数的最大公约数,把 main函数中的错误找出并改正过来。#includeiost

38、ream.htemplateclass TT gcd(T x,T y)while(x!=y)if(xy)x-=y;else y-=x;return x;void main()int a;double d;cinad:coutgcd(a,d)endl;(分数:4.00)填空项 1:_ (正确答案:gcd(a,d)因为 a,d 两个变量类型不同,而函数模板只有一个参数 T,所以出错。修改时一是修改函数模板,二是调用时使类型一致,可以使用强制转换。应改为gcd(double)a,d)或 gcd(a,(int)d)。)解析:43.#includeiostream.hclass Apublic:void

39、 A()const int f5()constreturn 5;int Obj()return 45;int val;int f8();int A:f8()return val;void main()const A s;int i=s.f5();cout“Value=“iendl:(分数:4.00)填空项 1:_ (正确答案:void A()构造函数没有函数类型。应改为 A()。)解析:44.#includeiostream.hclass shapepublic:virtual int area()return 0;class rectangle:public shapepublic:int

40、a,b;void setLength(int x,int y)a=x;b=y;int area()return a*b;void main()rectangle r;r.setLength(3,5);shape s1,*s2=r;coutr.area()endl;s2=s1;couts2.area()endl;(分数:4.00)填空项 1:_ (正确答案:shape s1,*s2=r;指针,使用错误。s 是指针,使用它指向对象的成员有两种方法,有下面两行可知,使用的是引用。应改为 shape s1,&s2=r;。)解析:45.#includeiostream.hclass Atonint X,

41、Y;protected:int zx,zy;public:void init(int i,int j)zx=i;zy=j;Aton(int i,int j,int n=0,int m=0)X=i,Y=j,zx=m,zy=n;:void main()Aton A(25,20,3,5);A.init(5,9);coutAXendl:(分数:4.00)填空项 1:_ (正确答案:int X,Y;因为 X,Y 都是私有的,在类外无法直接访问。应改为 public:int X,Y;。)解析:四、完成程序题(总题数:5,分数:20.00)46.在下面程序的横线处填上适当内容,使程序执行结果为:“hello

42、andylin“。#includeiostream#includestring.husing namespace std;class mystringpublic:char*pdata;mystring(int len)pdata=new charlen+1;mystring()delete pdata;void show()coutpdataendl;void fun(mystring*array,int len)mystring*old=*array;_memcpy(*array,old,len);void main()mystring str(20);mystring*pstr=&str;mystring*ppstr=&pstr;strcpy(str.pdata,“hello,andylin“);fun(ppstr,20);_(分数:4.00)_正确答案:(*array=new mystring(len);(*ppstr).show();或 str.show();)解析:47.在下面程序横线处填上适当内容,

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1