homework 发表于 2020-4-21 10:53:24

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]
查看完整版本: 20春南开《面向对象程序设计》(1709、1803、1809、1903、1909...