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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(C++程序设计练习题与答案完整版本Word格式文档下载.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++程序设计练习题与答案完整版本Word格式文档下载.docx

1、28包含纯虚函数的类称为抽象类,这种类只能用作( )来派生新类。由于抽象类的特殊性,我们可以说明抽象类的( ),但不能说明抽象类的( )。29说明函数类型为“double”、函数名为“virfun”且无参数的纯虚函数的表达形式为( )。30说明静态成员要使用关键字( )。31当函数调用在前定义在后时,必须先对函数进行( )说明。32类名为“ClassN”的类的拷贝构造函数的函数原型说明为( )。33抽象类是包含( )的类,必须注意:不能说明抽象类的( ),但可说明抽象类的( )。34流插入运算符只能重载为友元函数,重载流插入运算符的函数名为( )。35要防止在该成员函数中改变数据成员的值,就要

2、在类的成员函数名之后、函数体之前加上关键字( )。36类和对象的关系可表述为:类是对象的( ),而对象则是类的( )。37在C+中,三种继承方式的说明符号为( )、( )和( ),如果不加说明,则默认的继承方式为( )。38如果只想保留公共基类的一个复制,就必须使用关键字( )把这个公共基类声明为虚基类。39若要把void myfun( )定义为类A的友元函数,则应在类A的声明中加入语句( )。40类的静态成员分为( )和( )。41运算符重载要求保持其原来的操作数个数、( )、( )和语法结构。42通过关键字( )可以声明模板,通过关键字( )指定函数模板的类型参数。43请列出C+中两种用户

3、自定义的数据类型:( )、( )。44构造函数的作用是( )。45后置自增运算符“+”重载为类的成员函数(设类名为ClassName)的形式为( )。二、单选题1继承机制的作用是( )A) 信息隐藏 B) 数据封装 C) 定义新类 D) 数据抽象2类的析构函数的作用是( )A) 一般成员函数 B) 类的初始化 C) 对象的初始化 D) 删除对象创建的所有对象3类的析构函数是在( )调用的。A) 类创建时 B) 创建对象时 C) 删除对象时 D) 不自动调用4在( )情况下适宜采用inline定义内联函数。A) 函数体含有循环语句 B) 函数体含有递归语句C) 函数代码少、频繁调用 D) 函数代

4、码多、不常调用5如果类A被说明成类B的友元,则( )A) 类A的成员即类B的成员 B) 类B的成员即类A的成员C) 类A的成员函数不得访问类B的成员 D) 类B不一定是类A的友元6在类中声明转换函数时不能指定( )A) 参数 B) 访问权限 C) 操作 D) 标识符7在公有继承的情况下,基类成员在派生类中的访问权限( )A) 受限制 B) 保持不变 C) 受保护 D) 不受保护8在C+类体系中,不能被派生类继承的有( )A) 转换函数 B) 构造函数 C) 虚函数 D) 静态成员函数9假定ClassN为一个类,则执行“ClassN x;”语句时将自动调用该类的( )A) 有参构造函数 B) 无

5、参构造函数 C) 拷贝构造函数 D) 赋值构造函数10C+语言建立类族是通过( )A) 类的嵌套 B) 类的继承 C) 虚函数 D) 抽象类11重载一元运算符-为类A的成员运算符,若有类A的对象obj,则表达式-obj被C+编译器解释为( )。A) obj.operator - ( ) B) operator - (obj) C) obj:operator - ( ) D) obj:operator - ( )12以下有四种关于类的说法,其中不正确的是( )。A) 构造函数可以指定参数,但不能指定函数类型 B) 一个类可以有多个构造函数C) 析构函数不可以指定参数,但可以指定函数类型 D) 一

6、个类只能有一个析构函数13面向对象程序设计讲求封装性,在C+中封装是借助于( )实现的。A) 结构 B) 数组 C) 类 D) 函数14下面有四种关于类的说法,其中不正确的是( )。A) 一个类可以有多个构造函数 B) 析构函数不可以指定函数类型,但可以指定函数参数C) 一个类只能有一个析构函数 D) 在一个类中可以说明其它类的对象15下列有关基类的叙述中不正确的是( ),前提为“公有派生”。A) 基类的公有成员在派生类中仍然是公有的 B) 基类的保护成员在派生类中仍然是保护的C) 基类的私有成员在派生类中仍然是私有的 D) 基类的私有成员在派生类中是不可访问的16以下有四种关于友元的描述,其

7、中错误的是( )。A) 类A的友元类B的成员函数都是类A的友元函数 B) 友元函数可以访问该类的私有数据成员C) 类与类之间的友元关系可以继承 D) 友元可以提高程序的运行效率17C+的封装性是借助于( )实现的。A) 函数 B) 数组 C) 结构 D) 类18要将-重载为类ClassN的后置友元运算符,那么,要在类中添加的原型说明为( )。A) friend ClassN operator - (ClassN &, int); B) friend ClassN operator - (ClassN &C) friend ClassN operator - (int); D) friend C

8、lassN operator - ( );19在公有派生时,下列描述中不正确的是( )。A) 派生类的对象可以赋给基类的对象 B) 派生类对象的地址可以赋给指向基类的指针C) 派生类的对象可以初始化基类的引用D) 当基类的指针指向派生类对象时,通过该指针可以直接访问派生类中的成员20以下关于继承成员的访问属性的叙述中,不正确的是( )。A) 基类的保护成员在私有派生类中是私有的 B) 对基类成员的访问必须没有二义性C) 基类的保护成员在保护派生类中是保护的 D) 基类的保护成员在派生类中是保护的三、程序改错题(改正下列类中的错误)1class ClassNprivate: int nmembe

9、r; ClassN pmember;public: ClassN( ); int ClassN(int x);2void main() char c = new char 20; delete c;3class MyClass int n=1; MyClass pO; MyClass(int a = 0); void MyClass(int a);4#include using namespace std; int & par = new int 6; delete par; cout 主函数End! endl;5 long & par = new long 9; delete par; co

10、ut Endl;6CLass CN long n; CN pobj; CN(); void CN(int X);四、分析程序输出题class A A() coutconstructing A endl; A() coutdestructing A class B: public A B() coutconstructing B B() coutdestructing B class C : public B C() coutconstructing C C() coutdestructing C C c1;void fun(int &a, int &b) int p; p=a; a=b; b=

11、p;void exchange(int &a,int &b,int &c) if(ab) fun(a,b);c) fun(a,c); if(bc) fun(b,c); int a=12,b=89,c=56; exchange(a,b,c); couta=a,b=b,c=cclass TC int num; TC(); int TEST() return num; TC();TC:TC() num=0;TC() coutDestructor is active TC tarr5;Exiting mainclass CBase int n; CBase(int m = 0) n = m; virt

12、ual void print( ) cout Inside CBase n class CDrive: public CBase CDrive( ) n = 0; CDrive(int a, int b) : CBase(a) , n(b) void print( ) cout print( );b2;dd;CBase:print();class CTest long num; CTest( ); CTest( );CTest:CTest( ) num = 0;CTest( ) cout 调用析构函数 CTest cobj;退出主函数class CN CN(int i) n=i; operat

13、or int() return n; CN cobj(123);cobj7 int num = 100; ref = num; ref ref = ref + 100; num num = num + 100;8class CName CName( ); CName( );CName:CName( ) num = 0;CName( ) cout CName carr2;退出main9分析下列程序并写出程序的运行结果。 CDrive( ) n = 0; CBase(a) , n(b) CBase ba, bb(100), *pb; CDrive dd(123, 456);ba;bb;10clas

14、s CT CT(int i) n=i; operator int() return n; CT cObj(1234);cObj五、编程题1下列类成员函数的定义不完整,请在_处填代码以使其完整。 float x; TC(int, float); TC(TC&TC(int n, float f) num = n; _;TC(TC& t) x = t.x;2根据下面的主程序,完成类说明的最小形式(不要求实现成员函数的定义)。class Base Base bo(6);3一个类的头文件如下所示,程序产生对象tco,且tco.num=10,并使用Show( )函数输出这个对象的值。/tcn.hclass

15、 TCN TCN(int n) num=n; void Show () coutnum#includemn = mn; = mf;CN( rObj ) mn = ; mf = .f;6填上合适的字句,使程序的最终结果为200。class CNumber int val; CNumber(int i) val=i; _int( );CNumber:operator int() _ class num : public CNumber num(int i) : CNumber(i) num n(100); int i=n;i+n7下面是一个类的测试程序,设计出能使用如下测试程序的类: Test t

16、o; to.Init(300, 200); to.Print();输出结果:300-200=1008已知复数类Complex的声明如下:class Complex Complex(); Complex(double); Complex(double, double); friend Complex operator + (Complex &, Complex & friend ostream & operator (istream & double real, imag;要求:(1)写出该类的所有构造函数的类外定义代码。(2)写出对运算符“+”、“”进行重载的运算符重载函数的定义。9下列Abs

17、tractC类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。class AbstractC virtual double area()=0;double total(AbstractC *sa , int n) double s=0.0; for(int i=0; iarea( ); return s;(1)从AbstractC类派生圆类(Circle)、正方形类(Square),圆类新增数据成员半径(r),正方形类新增数据成员边长(a) ,圆类和正方形类都有构造函数,修改、显示数据成员值的函数,求面积函数。(2)写出main( )函数,计算半径为3.5的圆和边长为7.9的正方形的面积和(必须通过调用total函数计算)。10一个类的头文件cn.h的内容如下所示:/cn.h CN(int); void Print();CN(int N) n = N;void CN:Print() coutn(1) 编写一个主程序,产生对象Obj,且使Obj对象中的n成员的值为100,并使用Print()函数输出这个对象中私有成员n的值。(2) 在主程序中,创

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1