20春南开《面向对象程序设计》(1709、1803、1809、1903、1909...
20春学期(1709、1803、1809、1903、1909、2003)《面向对象程序设计》在线作业1.[单选题] 下列运算符中,()运算符在C++中不能重载。
奥鹏作业答案可以联系QQ 761296021
A.?:
B.+
C.-
D.=
正确答案:——A——
2.[单选题] 已知类X中的一个成员函数说明如下:
Void Set(X &a);其中,X &a的含义是( )。
A.a是指向X类对象的指针,用来作为Set()的形参
B.将a的地址传递给Set()函数
C.a是X类对象的引用,用来做为Set()的形参
D.以上都不对
正确答案:——C——
3.[单选题] 执行语句“string str("abc");”时,系统会自动调用string类的构造函数()。
A.string()
B.string(const char *s)
C.string(const string &str)
D.string(size_type n, char c)
正确答案:——B——
4.[单选题] 下列关于虚函数的说明中,正确的是()。
A.从虚基类继承的函数都是虚函数
B.虚函数不得是静态成员函数
C.只能通过指针或引用调用虚函数
D.抽象类中的成员函数都是虚函数
正确答案:————
5.[单选题] 对虚函数的调用()。
A.一定使用动态联编
B.一定使用静态联编
C.必须使用动态联编
D.不一定使用动态联编
正确答案:————
6.[单选题] 运行以下程序时,如果由键盘输入6514,则输出结果是()。
#include <iostream>
using namespace std;
int main()
{ int m, n;
cout<<"Input m, n:";
cin>>m>>n;
while(m!=n)
{
while(m>n) m-=n;
while(n>m) n-=m;
}
cout<<m<<endl;
return 0;
}
A.3
B.2
C.1
D.0
正确答案:————
7.[单选题] 面向对象程序设计方法以()为中心进行分析和设计。
A.结构
B.模块
C.对象
D.类
正确答案:————
8.[单选题] 如果一个类至少有一个纯虚函数,那么就称该类为()。
A.抽象类
B.派生类
C.纯基类
D.以上都不对
正确答案:————
9.[单选题] 在C++中,关于下列设置参数默认值的描述中,正确的是( )。
A.不允许设置参数的默认值
B.设置参数默认值只能在定义函数时设置
C.设置参数默认值时,应该是先设置右边的再设置左边的
D.设置参数默认值时,应该全部参数都设置
正确答案:————
10.[单选题] 下列对派生类的描述中,()是错误的。 联系QQ 76 129 6021或者q1647861640
A.一个派生类可以作另一个派生类的基类
B.派生类至少有一个基类
C.派生类的成员除了它自己的成员外,包含了它的基类的成员
D.派生类中继承的基类成员的访问权限到派生类保持不变
正确答案:————
11.[单选题] 下列程序段中具有相同值的是( ) class Base {int b;};class Base1:virtual public base{int b1;}; class Base2:virtual public base{int b2;};class derived:public base 1,public base 2{int b3;}; derived d;
A.d.b与d.base1::b
B.d.base1::b与 d.base1::b1
C.d.b与 d. b3
D.d.base2::b与 d.base2::b2
正确答案:————
12.[单选题] 如果一个类至少有一个纯虚函数,那么就称该类是()。
A.抽象类
B.虚基类
C.派生类
D.以上都不对
正确答案:————
13.[单选题] 下列函数中,可以作为虚函数的是( )。
A.普通函数
B.构造函数
C.静态成员函数
D.析构函数
正确答案:————
14.[单选题] 下列虚基类的声明中正确的是( )。
A.class virtual B:public A
B.virtual class B:public
C.class B:public A virtual
D.class B: virtual public A
正确答案:————
15.[单选题] 缺省析构函数的函数体是( )。
A.不存在
B.随机产生的
C.空的
D.无法确定的
正确答案:————
16.[单选题] 对静态成员的不正确描述是( )。
A.静态成员不属于对象,是类的共享成员
B.静态数据成员要在类外定义和初始化
C.调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针
D.非静态成员函数也可以操作静态数据成员
正确答案:————
17.[单选题] 在C++中,要实现动态联编,可以使用( )调用虚函数。
A.类名
B.派生类指针
C.对象名
D.基类指针
正确答案:————
18.[单选题] 类模板的使用实际上是类模板实例化成一个具体的( )。
A.类
B.对象
C.函数
D.变量
正确答案:————
19.[单选题] 若派生类中没有对基类的虚函数进行重定义,则它继承基类中的( )。
A.访问权限
B.保护成员
C.虚函数
D.成员函数
正确答案:————
20.[单选题] 关于对象成员的构造函数的调用顺序,说法正确的是( )。
A.与它们在成员初始化列表中给出的顺序相同
B.与析构函数的调用顺序相同
C.与它们在类中说明顺序相同
D.以上说法都不对
正确答案:————
21.[单选题] 友元运算符obj1>obj2被C++编译器解释为()。
A.operator>(obj1,obj2)
B.>(obj1,obj2)
C.jobj2.operator>(obj1)
D.obj1.operator(obj2)
正确答案:————
22.[单选题] ( )是析构函数的特征。
A.析构函数可以有一个或多个参数
B.析构函数定义只能在类体内
C.析构函数名与类名不同
D.一个类中只能定义一个析构函数
正确答案:————
23.[单选题] 将一个string类对象赋予新值,应该使用string类的()函数。
A.assign
B.insert
C.swap
D.find
正确答案:————
24.[单选题] 静态数据成员初始化在()进行,而且前面不加static,以免与一般静态变量或对象相混淆。
A.类体内
B.类体外
C.构造函数内
D.内联函数内
正确答案:————
25.[单选题] 继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
A.规律性
B.传递性
C.重复性
D.多样性
正确答案:————
26.[单选题] 以下为重载函数的一组函数声明的是()。
A.void print(int);void print(double);
B.void fun(int); int fun(int);
C.int max(int,int);int min(int,int);
D.void mm(); int mm();
正确答案:————
27.[单选题] 下列关于动态联编的描述中,错误的是()。
A.动态联编是以虚函数为基础的
B.动态联编是在运行时确定所调用的函数代码的
C.动态联编调用函数操作是通过指向对象的指针或对象
D.动态联编是在编译时确定操作函数的
正确答案:————
28.[单选题] 下面叙述中错误的是()。
A.派生类可以使用private派生
B.对基类成员的访问必须是无二义性的
C.基类成员的访问能力在派生类中维持不变
D.赋值兼容规则也适用于多继承的组合
正确答案:————
29.[单选题] 下面叙述错误的是( )。
A.派生类可以使用private派生
B.对基类成员的访问必须是无二义性的
C.基类成员的访问能力在派生类中维持不变
D.赋值兼容规则也适用于多继承的组合
正确答案:————
30.[单选题] 下面对析构函数的正确描述是( )。
A.系统不能提供默认的析构函数
B.析构函数必须由用户定义
C.析构函数没有参数
D.析构函数可以设置默认参数
正确答案:————
31.[单选题] 下列关于赋值运算符重载的说法中正确的是()。
A.返回值一般是以引用方式返回的对象,而函数体中总是用语句“return *this;”返回this指针所指向的对象
B.赋值运算符只能以非成员函数的方式重载
C.赋值运算符既可以以成员函数的方式重载,又可以以非成员函数的方式重载
D.以上均不正确
正确答案:————
32.[单选题] 在表达式x+y*z中,+ 是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()。
A.operator+有两个参数,operator*有两个参数
B.operator+有两个参数,operator*有一个参数
C.operator+有一个参数,operator*有两个参数
D.operator+有一个参数,operator*有一个参数
正确答案:————
33.[单选题] 在一个C++源文件中使用了cin和cout,那么在这个源文件中必须包含()文件。
A.iostream
B.fstream
C.stdio.h
D.stdlib.h
正确答案:————
34.[单选题] 类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将( )。
A.调用类A中是函数func()
B.调用类B中是函数func()
C.根据P所指的对象类型而确定调用A中或类B中的函数func()
D.既调用类A中函数,也调用类B中的函数
正确答案:————
35.[单选题] 关于类和对象不正确的说法是( )。
A.类是一种类型,它封装了数据和操作
B.对象是类的实例
C.一个类的对象只有一个
D.一个对象必属于某个类
正确答案:————
36.[判断题] 在用class定义一个类时,数据成员和成员函数的默认访问权限是public。
A.对
B.错
正确答案:————
37.[判断题] 在C++中,可以声明虚构造函数和虚析构函数。
A.错误
B.正确
正确答案:————
38.[判断题] 纯虚函数是一种特殊的成员函数,它是一种没有具体实现的虚函数。
A.对
B.错
正确答案:————
39.[判断题] 在私有继承中,基类中只有公有成员对派生类是可见的。
A.对
B.错
正确答案:————
40.[判断题] 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。
A.对
B.错
正确答案:————
41.[判断题] 类中所提供的成员函数可以直接访问该类的私有成员。
A.错误
B.正确
正确答案:————
42.[判断题] 程序设计过程是指编写程序的过程。
A.对
B.错
正确答案:————
43.[判断题] 派生类的继承方式中有两种:公有继承和私有继承。
A.对
B.错
正确答案:————
44.[判断题] 在C++程序中,有且仅能有一个主函数,且其函数名必须是main。
A.错误
B.正确
正确答案:————
45.[判断题] 在C++中,允许从一个类派生出任意多个类,但不允许某个类同时从多个类派生。
A.错误
B.正确
正确答案:————
46.[判断题] C++语言类定义中默认的访问权限是public。
A.错误
B.正确
正确答案:————
47.[判断题] 当建立一个新对象时,程序不会自动调用任何函数。
A.对
B.错
正确答案:————
48.[判断题] 类模板可以生成若干个模板类,每个模板类又可定义若干个对象。
A.对
B.错
正确答案:————
49.[判断题] 在C++中,虚函数帮助实现了类的封装性。
A.对
B.错
正确答案:————
50.[判断题] 在类内部定义的public数据可以在类外进行存取。
A.对
B.错
正确答案:————
附件是答案,核对题目下载
页:
[1]