如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
C++面向对象程序设计检测试题(一)类和对象班级:学号:姓名:选择题1.在C++中,封装是借助于()达到的A.结构B.类C.数组D.函数2.下列不属于类的存取权限的是()A.PublicB.privateC.ProtectedD.Inline3.下列各类函数中,()不是类的成员函数A.构造函数B.析构函数C.友员函数D.拷贝构造函数4.关于类定义的格式中,()是错误的。A.一般类的定义格式分为说明部分和实现部分。B.一般类中包含有数据成员和成员函数。C.类中成员有三种访问数据:公有、私有、保护。D.成员函数都应是公有的、私有数据都应是私有的。5.关于类中成员函数的描述中,()是错误的。A.类中可以说明一个或多个成员函数。B.类中的成员函数只能定义在类体外。C.定义在类体外的成员函数前加inline可以成为内联函数。D.在类体外定义的成员函数时,在函数名前除了加类型说明符外,还需要作用域来限定该成员函数所属的类。6.下列说法中,()是正确的。A.成员函数都可以重载B.成员函数都是内联函数C.析构函数也可以重载D.成员函数可以是公有的,也可以是私有的7.()不是构造函数的特征。A构造函数的函数名与类名相同B构造函数可以重载C构造函数可以设置缺省参数D构造函数必须制定类型说明8.()是析构函数的特征A一个类中只能定义一个析构函数B.析构函数名与类名相同C.析构函数的定义只能在类体内D.析构函数可以有一个或多个参数9.下列构造函数的特点,()是错误的。A构造函数是一种成员函数,它具有一般成员函数的特点B构造函数的名称与其类名相同C构造函数必须指明类型D一个类中可定义一个或多个构造函数。10.关于静态成员的描述中,()是错误的。A.静态成员可分为静态数据成员和静态成员函数。B.静态数据成员定义后必须在类体内进行初始化。C.静态数据成员初始化不使用其构造函数。D.静态成员函数中不能直接引用非静态成员。11.通常的拷贝构造函数的参数是()A.某个对象名B.某个对象的成员名。C.某个对象的引用名。D.某个对象的指针名。12.友员的作用是()A.提高程序的运行效率。B.加强类的封装性。C.实现数据的隐藏。D.增强成员函数的种类13.已知类A中一个成员函数说明如下:VoidSet(A&a)其中,A&a的含义是()A.指向类A的指针aB.将a的地址值赋给变量SetC.a是类A的对象引用,用来作Set()的形参D.变量A与a按位逻辑与,作为函数Set()的参数14.已知:print()函数是一个常成员函数,它无返回值,下列表示中,()是正确的。A.voidprint()constB.constvoidprint()C.voidconstprint()D.voidprintconst15.作用域运算符的功能是()A.表示作用域的级别B.标识出作用域的范围C给定作用域的大小D.标识某个成员是属于哪个类16.关于成员函数特征的下列描述中,()是错误的A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置缺省参数D.成员函数可以是静态的二、判断题1.使用关键字class定义的类中缺省的访问权限是私有的。()2.作用域运算符‘::’只能用来限定成员函数所属的类。()3.析构函数是一种函数体为空的成员函数。()4.构造函数和析构函数都不能重载。()5.说明或定义对象时,类名前面不需要加class关键字。()6.访问对象的成员与访问结构变量的成员相同,使用运算符‘.‘或‘->’。()7.所谓私有成员是指只有类中所提供的成员函数才能直接访问它们,任何类以外的函数对它们的访问都是非法的。()8.可以在类的构造函数中对静态数据成员进行初始化。()9.构造函数和析构函数都可以重载()10.构造函数和拷贝构造函数是成员函数,析构函数和友员函数不是成员函数。()三.写出下列程序的运行结果1.#include<iostream.h>classPoint{floatX,Y;public:voidSetXY(floatx,floaty){X=x;Y=y;}voidShow(){cout<<"X="<<X<<'\t'<<"Y="<<Y<<endl;}};voidmain(){Pointa,b;a.SetXY(10.5,10.5);b.SetXY(1.2,5.4);a.Show();b.Show();}2.#include<iostream.h>classStrucf{private:floata,b,max;public:Strucf(intx,inty)