武汉理工大学面向对象程序设计C++(新)-作业二
发布时间:2024-03-04 14:03:23浏览次数:57面向对象程序设计 C++(新)-作业二1.[判断题] 类和对象之间的关系是抽象和具体的关系。 ( )A.正确B.错误答:——A——2.[判断题] 单继承情况下,派生类中对基类成员的访问也会出现二义性. ( )A.正确B.错误答:——B——3.[判断题] 在说明语句 char a('A'), &b=a, *pa=&a;中,b 的值与*pa 的值相等。A.正确B.错误答:——A——4.[判断题] 使用打开文件函数 open()之前,需要定义一个流类对象,使用 open()函数来操作该对象.A.正确B.错误答:——A——5.[判断题] 解决多继承情况下出现的二义性的方法之一是使用成员名限定法。( )A.正确B.错误答:——A——6.[判断题] 作用域运算符(::)只能用来限定成员函数所属的类。 ( )A.正确B.错误答:——B——
7.[判断题] 析构函数不能是纯虚函数。( )A.正确B.错误答:——B——8.[判断题] 函数定义中的形参的作用域是该函数的函数体。 ( )A.正确B.错误答:——A——9.[判断题] 函数的定义不可以嵌套,类的定义可以嵌套。 ( )A.正确B.错误答:——A——10.[判断题] 使用关键字 class 定义的类中默认的访问权限是私有(private)的。 ( )A.正确B.错误答:——A——11.[判断题] 说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。 ( )A.正确B.错误答:——A——12.[判断题] C++语言中模板分为函数模板和类模板两种。 ( )A.正确B.错误答:——A——
13.[判断题] 使用模板可以减少重复劳动,提高代码重用率. ( )A.正确B.错误答:——A——14.[判断题] C++语言中,既允许单继承,又允许多继承。( )A.正确B.错误答:——A——15.[判断题] 空类就是没有名字的类。 ( )A.正确B.错误答:——B——16.[判断题] 某类中的友元类的所有成员函数可以存取或修改该类中的私有成员. ( )A.正确B.错误答:——A——17.[判断题] 派生类是从基类派生出来,它不能再生成新的派生类。 ( )A.正确B.错误答:——B——18.[判断题] 可以在类的构造函数中对静态数据成员进行初始化。 ( )A.正确B.错误答:——B——19.[判断题] 在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多
态的特征。( )A.正确B.错误答:——B——20.[判断题] 函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。( )A.正确B.错误答:——A——21.[单选题] 关于 C++与 C 语言关系的描述中,()是错误的。A.C 语言是 C++语言的一个子集B.C 语言与 C++语言是兼容的C.C++语言对 C 语言进行了一些改进D.C++语言和 C 语言都是面向对象的答:——D——22.[单选题] 如果一个类至少有一个纯虚函数,那么就称该类为()。A.抽象类B.派生类C.纯基类D.以上都不对答:——A——23.[单选题] 假设已经定义好了一个类 student,现在要定义类 derived,它是从 student 私有派生的,定义类 derived 的正确写法是()。A.clasederived::studentprivate{…}B.clasederived::studentpublic{…}C.clasederived::privatestudent{…}D.clasederived::publicstudent{…}答:——C——
24.[单选题] 不能说明为虚函数的是()。A.析构函数B.构造函数C.类的成员函数D.以上都不对答:——B——25.[单选题] 面向对象程序设计思想的主要特征中不包括()。A.封装性B.多态性C.继承性D.功能分解,逐步求精答:——D——26.[单选题] 下列关于 C++函数的叙述中,正确的是 ( )。A.每个函数至少要具有一个参数B.函数在被调用之前必须先声明C.每个函数都必须返回一个值D.函数不能自己调用自己答:——B——27.[单选题] 假定 MyClass 为一个类,则该类的拷贝构造函数的声明语句为()。A.MyClass(MyClassx)B.MyClass&(MyClassx)C.MyClass(MyClass&x)D.MyClass(MyClass*x)答:——C——28.[单选题] 下面运算符中,不能被重载的运算符是()。A.小于 =B.-
C.?:D.[]答:——C——29.[单选题] 进行文件操作时需要包含头文件( )A.iostream.hB.stdio.hC.fstream.hD.stdlih答:——C——30.[单选题] 下列语句中错误的是()。A.int*p=newint(10)B.int*p=newint[10]C.int*p=newintD.int*p=newint[40](0)答:——D——31.[单选题] 类的私有成员可在何处访问()A.通过子类的对象访问B.本类及子类的成员函数中C.通过该类对象访问D.本类的成员函数中答:——D——32.[单选题] 在下面有关静态成员函数的描述中,正确的是()。A.在静态成员函数中可以使用 this 指针B.在建立对象前,就可以为静态数据成员赋值C.静态成员函数在类外定义时,要用 static 前缀D.静态成员函数只能在类外定义答:——B——33.[单选题] 已知 inta,*pa=&a;,输出指针 pa 十进制的地址值的方法是()A.cout 小于 小于 paB.cout 小于 小于 *pa
C.cout 小于 小于 &paD.cout 小于 小于 long(&pa)答:——D——34.[单选题] C++是()。A.面向对象的程序设计语言B.面向过程的程序设计语言C.既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D.非结构化的程序设计语言答:——C——35.[单选题] 下列不是构造函数的特征的是()。A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数必须指定类型说明D.构造函数可以设置缺省参数答:——C——36.[单选题] 对使用关键字 new 所开辟的动态存储空间,释放时必须使用()A.freeB.createC.realseD.delete答:——D——37.[单选题] ()不是构造函数的特征。A.构造函数的函数名与类名相同;B.构造函数可以重载;C.构造函数可以设置缺省参数;D.构造函数必须指定类型说明。答:——D——
38.[单选题] 以下有关继承的叙述正确的是()。A.构造函数和析构函数都能被继承B.派生类是基类的组合C.派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员D.基类的公有成员一定能被派生类的对象访问答:——C——39.[单选题] 静态成员函数没有()。A.返回值B.this 指针C.指针参数D.返回类型答:——B——40.[单选题] 将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是()A.不合法的运算符B.一元运算符C.无操作数的运算符D.二元运算符答:——B——