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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(城建大学计算机期末习题练习.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

城建大学计算机期末习题练习.docx

1、城建大学计算机期末习题练习一、单选题 (本题共10小题,每题2分,共20分) 1下面选项中,不是类的成员函数为A) 构造函数 B) 析构函数C) 友元函数 D) 复制构造函数2下面对析构函数的正确的描述是A) 系统可以提供默认的析构函数 B) 析构函数必须由用户定义C) 析构函数可以重载 D) 析构函数可以设置默认参数3关于类和对象不正确的说法是_A) 类是一种类型,它封装了数据和操作 B) 对象是类的实例C) 一个类的对象只有一个 D) 一个对象必属于某个类4在类的外部,可以被访问的成员有_A) 所有类成员 B) private或protected的类成员C) public的类成员 D) p

2、ublic或private的类成员5声明一个类的对象时,系统自动调用一个函数;撤消对象时,系统自动调用一个函数;该函数为_A) 成员函数;构造函数 B) 复制构造函数;析构函数C) 构造函数;析构函数 D) 析构函数;复制构造函数6假定XY为一个类,则该类的拷贝构造函数的声明语句为。A) XY&(XY x); B) XY(XY &x); C) XY(XY x); D) XY(XY *x);7当一个派生类保护继承一个基类时,基类中的所有公有成员和保护成员成为派生类的A) 友元 B) private成员C) public成员 D) protected成员8在C+中,要实现动态联编,必须使用_ _调

3、用虚函数A) 类名 B) 派生类指针C) 对象名 D) 基类指针9下列函数原型声明中,_ _声明了fun为纯虚函数A) void fun()=0; B) virtual void fun()=0;C) virtual void fun(); D) virtual void fun() ;10假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为_ _。A) int AA:a() B) int AA:a()C) AA:a() D) AA:int a()二、 填空题(本题共10小题,每题3分,共30分)1 类A中有一个数据成员static int b,在类外

4、为它定义并初始化为0时使用的语句为_;_ 2 在一个派生类中,对派生类对象成员、基类成员和子对象成员的初始化次序是先_ _,后 _ _,最后为_。3 把函数void fun(); 定义为一个类ABC的友元函数,则应在类ABC的定义中加入一条语句: _; 。4 在C+流类库中,根基类为_ _。5 函数的递归调用是指函数直接或间接地调用 。6 在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的_ _,使其初始化。7 类只能作为基类使用,而不能声明它的对象。8 若要在程序文件中进行文件输入输出操作。必须在开始的#include命令中使用_ _头文件。9 通过一个 对象只能调用它的常

5、成员函数,不能调用其他成员函数。10类的成员函数可以在类内或类外定义。若在类外定义,在类中必需对成员函数进行_。三、 写出下列程序运行后的输出结果(本题共6小题,每题5分,共30分)1带默认参数的构造函数#include class M int a,b; public: M(int aa=1,int bb=2):a(aa),b(bb) coutconstructor!a+bendl; ; void main() M x,y(2,3); constructor!3constructor!52析构函数的调用#includeclass Mint *a; public: M(int aa=3) a=n

6、ew int(aa); coutconstructor!*aendl; M()coutdestructor! *aendl; ;void main() M x2; M *p=new M(8); delete p;constructor!3constructor!3constructor!8destructor!8destructor!3destructor!33运算符重载#includeclass Mint a,b;public: M()a=b=0; M(int aa,int bb)a=aa,b=bb; M operator +(M& x) M r;r.a= a+x.a;r.b=b+x.b;r

7、eturn r; M operator -(M& x) M r; r.a=a-x.a; r.b=b-x.b; return r; void OutB() couta bendl;void main() M x(3,5),y(8,4),z1,z2;z1=x+y;/x.operator+(y);z2=x-y;z1.OutB();z2.OutB();11 9-5 14含子对象的派生类#includeclass AX int x;public: AX(int xx=0):x(xx) void output() coutx ; int Get()return x;class BX:public AX i

8、nt y; AX z;public: BX(int xx=0,int yy=0):AX(xx),y(yy),z(xx+yy) void output() AX:output();coutGet() ; couty z.Get()endl; ;void main() BX a(8),b(11,22);a.output();b.output();8 8 0 811 11 22 335虚函数实现的多态#includeclass AYprotected:int a,b;public: AY(int aa=0,int bb=0) a=aa;b=bb; virtual void compute() cou

9、ta+b=a+bendl; ;class BY:public AYpublic:BY(int aa=0,int bb=0):AY(aa,bb) void compute()couta-b=a-bendl;class CY:public BYpublic:CY(int aa=0,int bb=0):BY(aa,bb)void compute()couta*b=a*bendl; class DY:public AYpublic:DY(int da=0,int db=0):AY(da,db)void compute()if(b!=0) couta/b=a/bendl;else coutdixisio

10、r is zero!endl;void main() int n=10,m=5;AY ay(n,m);BY by(n,m);CY cy(n,m);DY dy(n,m);AY * a4=&ay,&by,&cy,&dy;for(int i=0;icompute();AY &ax=cy; pute();AY aa=cy; pute();10+5=1510-5=510*5=5010/5=210*5=5010+5=15一、 选择填空1. 在下列关键字中,用以说明类中公有成员的是( )A. public; B. private; C. protected; D. friend;2. 下列的各类函数中,(

11、)不是类的成员函数。A. 构造函数; B. 析构函数; C . 友元函数; D. 拷贝初始化构造函数;3. 作用域运算符的功能是( )。A. 标识作用域的级别的;B. 指出作用域的范围的;A. 给定作用域的大小的;D. 标识某个成员是属于哪个类的。4. ( )是不可能作为该类的成员的。A. 自身类对象的指针; B.自身类的对象;C.自身类对象的引用; D.另一个类的对象。5. ( )不是构造函数的特征A. 构造函数的函数名与类名相同;B. 构造函数可以重载;C. 构造函数可以设置缺省参数;D. 构造函数必须指定类型说明。6. ( )是析构函数的特征。A. 一个类中只能定义一个析构函数;B. 析

12、构函数与类名不同;C. 析构函数的定义只能在类体内;D. 析构函数可以有各个或多个参数。7. 下述静态数据成员的特征中,( )是错误的。A. 说明静态数据成员时前边要加修饰符static;A. 静态数据成员要在类体外进行初始化;B. 引用静态数据成员时,要在静态数据成员名前加和作用域运算符;C. 静态数据成员不是所有对象所共用的。8. 友元的作用( )。A. 提高程序的运用效率;B. 加强类的封装性;C. 实现数据的隐藏性;D. 增加成员函数的种类。 分析下列程序的输出结果。1.构造函数重载#includeclass A public:A();A(int i,int j);void print

13、( ); private:int a,b;A:A( ) a=b=0; cout”Default constructor called.n”; A:A(int i,int j) a=i;b=j;cout”Constructor called.n”;void A:print() cout”a=”a”,b=”bendl;void main()A m,n(4,8);m.print();n.print();提示:定义对象的时候调用构造函数Default constructor called.Constructor called.a=0,b=0a=4,b=82. 子对象#includeclass B pu

14、blic:B();B(int i,int j);void printb( ); private:int a,b;class A public:A();A(int i,int j);void printa( ); private:B c;A:A(int i,int j):c(i,j)void A:printa() c.printb();B:B(int i,int j) a=i;b=j;void B:printb() cout”a=”a”,b=”bendl;void main()A m(7,9);m.printa();a=7,b=9;3.静态成员函数,静态成员#includeclass Count

15、 public: Count () count+; static int HM()return count; Count()count-; private: static int count; ; int Count:count=100;void main() Count c1,c2,c3,c4; coutCount:HM()endl;1044.友元函数#includeclass A public: A(double t,double r)Total=t;Rate=r; friend double Count(A&a) a.Total+=a.Rate*a.Total; return a.Tot

16、al; private:double Total,Rate;void main() A a1(1000.0,0.035),a2(768.0,0.028); coutCount(a1)”,”Count(a2)endl;1035,789.5041、#include class A public: A(int i,int j)a=i;b=j; void Move(int x,int y)a+=x;b+=y; void Show()cout”(”a”,”b”)”endl;private:int a,b;class B:private A public: B(int i,int j, int k,int

17、 l):A(i,j) x=k;y=l; void Show() coutx”,”yendl; void fun() Move(3,5); void f1() A:Show(); private: int x,y; ; void main() A e(1,2); e.Show(); B d(3,4,5,6); d.fun(); d.Show(); d.f1();(1,2)5,6(6,9)2、#include class B public: B(int i)b=i+50;show(); B() virtual void show()cout”B:show() called.”bendl;protected:int b;class D:public B public: D(int i):B(i) d=i+100;show(); D() void show() cout”D:show() called.”dendl; protected: int d; ; void main() D d1(108); B:show() called.158D:show() called.208

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2