端木老师 发表于 2021-4-16 14:28:51

南开21春《面向对象程序设计》在线作业题目

21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业
1.[单选题] 面向对象程序设计思想的主要特征中不包括(   )。
无忧答案网答案资料下载,请参考帮助中心说明
    A.封装性
    B.多态性
    C.继承性
    D.功能分解,逐步求精
    答:——D——
2.[单选题] 下面关于私有继承方式的论述中错误的是()。
    A.基类中的私有成员对其对象不可见
    B.基类中的私有成员对其派生类不可见
    C.基类中的公有成员对其派生类可见
    D.基类中的保护成员对其派生类不可见
    答:——D——
3.[单选题] 对于任意一个类,构造函数的个数最少为(    )。
    A.0
    B.1
    C.2
    D.3
    答:——B——
4.[单选题] 有如下类声明:
class Sample { int x; };
则Sample类成员x是Sample类的()。
    A.公有数据成员
    B.保护数据成员
    C.私有数据成员
    D.以上选项都不正确
    答:————
5.[单选题] 下列(   )不是构造函数的特征。
    A.构造函数的函数名与类名相同
    B.构造函数可以重载
    C.构造函数可以设置默认参数
    D.构造函数必须指定类型说明
    答:————
6.[单选题] 已知X类.则当程序执行到语句X *array;时,调用了(   )次构造函数。
    A.0
    B.1
    C.2
    D.3
    答:————
7.[单选题] 假定MyClass为一类,执行MyClass a,b(2),*p;语句时会自动调用该类构造函数()次。
    A.2
    B.3
    C.4
    D.5
    答:————
8.[单选题] 下面对模板的声明,正确的是(    )。
    A.A.template
    B.template
    C.template
    D.template    更多答案进 ap5u.com 东师 q1647 861640
    答:————
9.[单选题] 下列程序中说明的公有成员是(   )
class Location
{
int X;
public:
void init(int initX,int initY);
private:
int Y;
public:
int GetX();
int GetY();
};
    A.X
    B.init(int initX,int initY)
    C.GetX(),GetY()
    D.B和C都是
    答:————
10.[单选题] 有关重载函数的描述正确的是()。
    A.函数名相同的函数就是重载函数
    B.函数名相同但返回值类型不同的函数就是重载函数
    C.函数名相同但参数个数或类型不同的函数就是重载函数
    D.函数功能相同的函数就是重载函数
    答:————
11.[单选题] 基类的()在私有继承时在派生类中为私有成员函数,在公有和保护继承时在派生类中为保护成员函数。
    A.私有成员函数
    B.保护成员函数
    C.公有成员
    D.保护数据成员
    答:————
12.[单选题] (   )的功能是对对象进行初始化。
    A.析构函数
    B.数据成员
    C.构造函数
    D.静态数据成员
    答:————
13.[单选题] 已知X类中的一个成员函数说明如下:
void Set(X*a);其中,X*a的含义是(   )。
    A.a是指向X类对象的指针,用来作为Set()的形参
    B.将X*a的计算结果传递给Set()函数
    C.a是X类对象的引用,用来做为Set()的形参
    D.以上都不对
    答:————
14.[单选题] 对A、B两个类进行多重继承得到派生类C,则创建派生类C的对象时,从基类B中继承过来的成员变量由()类的构造函数进行初始化。
    A.A
    B.B
    C.C
    D.都可以
    答:————
15.[单选题] 已知函数原型:void f(int a, int b=3,char c='*'); 则下面的函数调用中,不合法的调用是()。
    A.f(5)
    B.f(5,8)
    C.f(6, , '#')
    D.f(0,0, '#')
    答:————
16.[单选题] 变量的引用,其含义是指该变量的()。
    A.值
    B.类型
    C.别名
    D.地址
    答:————
17.[单选题] 在下列关键字中,用以说明类中公有成员的是(   )。
    A.public
    B.private
    C.protected
    D.friend
    答:————
18.[单选题] 类aClass的定义如下:
class aClass
{public:
       aClass(){}
       aClass(int i){value=new int(i);}
       int *value;
}
若要对类中的value赋值,则下面的语句中,正确的是()。
    A.aClass my; my.value=10;
    B.aClass my; *my.value=10;
    C.aClass my; my.*value=10;
    D.aClass my(10);
    答:————
19.[单选题] 缺省析构函数的函数体是(   )。
    A.不存在
    B.随机产生的
    C.空的
    D.无法确定的
    答:————
20.[单选题] 设置虚基类的目的是()。
    A.简化程序
    B.消除二义性
    C.提高运行效率
    D.减少目标代码
    答:————
21.[单选题] 在一个类中,可以对一个操作符进行()重载。
    A.1种
    B.2种
    C.3种
    D.多种
    答:————
22.[单选题] 结构化程序设计方法以()为中心进行分析和设计。
    A.结构
    B.模块
    C.对象
    D.类
    答:————
23.[单选题] 下面程序段中,说法正确的是(   )
class location{ public : int GetX(); };
class rectangle:private location { public: int GetW(); };
    A.类rectangle的私有派生类是location
    B.类rectangle中的public成员在类 location中是私有的
    C.类location中的public成员在类rectangle中是不可访问的
    D.viod f( ) {Rectangle r;   int X=r .GetX( );} 其中int X = r .GetX( );是非法语句
    答:————
24.[单选题] 在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。
    A.派生类的对象可以赋给基类对象
    B.派生类的对象可以初始化基类的引用
    C.派生类的对象可以直接访问基类的成员
    D.派生类的对象的地址可以赋给指向基类的指针
    答:————
25.[单选题] 关于抽象类, 下列表述正确的是()。
    A.抽象类的成员函数中至少有一个没有实现的函数(即无函数体定义的函数)
    B.派生类必须实现作为基类的抽象类中的纯虚函数
    C.派生类不可能成为抽象类
    D.抽象类不能用于定义对象
    答:————
26.[单选题] 在下列选项中(    )不是ostream类的对象。
    A.cin
    B.cerr
    C.clog
    D.cout
    答:————
27.[单选题] 继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
    A.规律性
    B.传递性
    C.重复性
    D.多样性
    答:————
28.[单选题] 下面关于对象概念的描述中,(   )是错误的。
    A.对象就是C语言中的结构变量
    B.对象代表着正在创建的系统中的一个实体
    C.对象是一个状态和操作(或方法)的封装体
    D.对象之间的信息传递是通过消息进行的
    答:————
29.[单选题] 用于类中虚成员函数说明的关键字(   )。
    A.virtual
    B.public
    C.protected
    D.private
    答:————
30.[单选题] 下列对派生类的描述中错误的是()。
    A.派生类至少有一个基类
    B.派生类可作为另一个派生类的基类
    C.派生类除了包含它直接定义的成员外,还包含其基类的成员
    D.派生类对其继承的基类的成员访问权限保持不变
    答:————
31.[单选题] 建立类模板对象的实例化过程为(    )。
    A.基类->派生类
    B.构造函数->对象
    C.模板类->对象
    D.模板类->模板函数
    答:————
32.[单选题] 下列对派生类的描述中,()是错误的。
    A.一个派生类可以作另一个派生类的基类
    B.派生类至少有一个基类
    C.派生类的成员除了它自己的成员外,包含了它的基类的成员
    D.派生类中继承的基类成员的访问权限到派生类保持不变
    答:————
33.[单选题] 下面关于类的成员函数描述不正确的是()。
    A.静态成员函数内可以直接访问类的非静态成员数据
    B.静态成员函数内可以直接访问类的静态成员数据
    C.非静态成员函数可以直接访问类的非静态成员数据
    D.非静态成员函数可以直接访问类的静态成员数据
    答:————
34.[单选题] 关于类和对象不正确的说法是(    )。
    A.类是一种类型,它封装了数据和操作
    B.对象是类的实例
    C.一个类的对象只有一个
    D.一个对象必属于某个类
    答:————
35.[单选题] 下面叙述中错误的是()。
    A.派生类可以使用private派生
    B.对基类成员的访问必须是无二义性的
    C.基类成员的访问能力在派生类中维持不变
    D.赋值兼容规则也适用于多继承的组合
    答:————
36.[判断题] 假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:
AB operator+(AB &,AB &);
    A.错误
    B.正确
    答:————
37.[判断题] 面向对象程序设计方法中也会使用结构化程序设计方法。
    A.对
    B.错
    答:————
38.[判断题] 在成员函数的函数类型前加上const关键字,则该成员函数就是常量成员函数。
    A.对
    B.错
    答:————
39.[判断题] 返回引用的函数可以返回局部变量。
    A.对
    B.错
    答:————
40.[判断题] 一个类的静态数据成员被该类的所有对象共享。
    A.错误
    B.正确
    答:————
41.[判断题] 源程序编译后会生成可执行程序。
    A.对
    B.错
    答:————
42.[判断题] C++的I/O系统通过流的机制实现文件和控制台的输入输出操作。
    A.对
    B.错
    答:————
43.[判断题] 在类体外定义成员函数时需要通过域运算符指定该成员函数所属的类。
    A.对
    B.错
    答:————
44.[判断题] 面向对象的英文缩写是OOP。
    A.对
    B.错
    答:————
45.[判断题] 定义一个虚基类后,则该虚基类后继类层次中的类都需要调用虚基类的构造函数对虚基类中定义的成员变量进行初始化。
    A.错误
    B.正确
    答:————
46.[判断题] 拷贝构造函数通常使用已有对象的引用来初始化创建中的对象。
    A.对
    B.错
    答:————
47.[判断题] 在公有继承中,基类中只有公有成员对派生类对象是可见的。
    A.对
    B.错
    答:————
48.[判断题] 多数运算符可以重载,个别运算符不能,运算符重载是通过函数定义实现的。
    A.对
    B.错
    答:————
49.[判断题] 模板定义中标识类型的参数必须用关键字Type修饰。
    A.对
    B.错
    答:————
50.[判断题] 一般将C++中的类声明和类实现分别放到两个文件中。
    A.对
    B.错
    答:————

转载注明 无忧答案网随机作业核对题目后下载答案
页: [1]
查看完整版本: 南开21春《面向对象程序设计》在线作业题目