网院作业 发表于 2020-10-23 10:09:08

20秋南开《面向对象程序设计》在线作业满分

20秋学期(1709、1803、1809、1903、1909、2003、2009)《面向对象程序设计》在线作业
1.[单选题] 已知“int a=10,*p;int *&r=p; r=&a;*p=20;cout<<a;”,则输出为()。
无忧答案网答案资料下载,请参考帮助中心说明
    A.10
    B.20
    C.不确定值
    D.程序有错误
    答:——B——
2.[单选题] 可以用p.a的形式访问派生类对象p的基类成员a其中a是(    )。
    A.私有继承的公有成员
    B.公有继承的私有成员
    C.公有继承的保护成员
    D.公有继承的公有成员
    答:——D——
3.[单选题] 下列关于虚函数的说明中,正确的是()。
    A.从虚基类继承的函数都是虚函数
    B.虚函数不得是静态成员函数
    C.只能通过指针或引用调用虚函数
    D.抽象类中的成员函数都是虚函数
    答:——B——
4.[单选题] 在一个string类对象表示的字符串中查找子串,应该使用string类的()函数。
    A.assign
    B.insert
    C.swap
    D.find
    答:————
5.[单选题] 执行语句“string str("abc");”时,系统会自动调用string类的构造函数()。
    A.string()
    B.string(const char *s)
    C.string(const string &str)
    D.string(size_type n, char c)
    答:————
6.[单选题] 下面说法中正确的是(   )。    福师答案 请进 ap5u.com 或 联系Q761296021
    A.一个类只能定义一个构造函数,但可以定义多个析构函数
    B.一个类只能定义一个析构函数,但可以定义多个构造函数
    C.构造函数与析构函数同名,只要名字前加了一个求反符号(~)
    D.构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以
    答:————
7.[单选题] 已知函数原型:void f(int a, int b=3,char c='*'); 则下面的函数调用中,不合法的调用是()。
    A.f(5)
    B.f(5,8)
    C.f(6, , '#')
    D.f(0,0, '#')
    答:————
8.[单选题] (   )是析构函数的特征。
    A.析构函数可以有一个或多个参数
    B.析构函数定义只能在类体内
    C.析构函数名与类名不同
    D.一个类中只能定义一个析构函数
    答:————
9.[单选题] 已知“int a=10;int &r=a; r=r+20;cout<<a;”,则输出为()。
    A.10
    B.20
    C.30
    D.不确定值
    答:————
10.[单选题] 关于下面程序段说法正确的是(   )
class X
{
private:
int n;
public:
X(X&);
};
X::X(X&x) {n=x.n}
X obj1,obj2(obj1);
    A.语句obj2(obj1);的功能是用对象obj1初始化具有相同类类型的对象obj2
    B.语句obj2(obj1);的功能是用对象obj2初始化具有相同类类型的对象obj1
    C.X(X&x)中的&符号可以删除
    D.X(X&x)函数中不能访问对象的私有成员
    答:————
11.[单选题] 类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);
    答:————
12.[单选题] 包含类fstream定义的头文件是(    )。
    A.fstream
    B.ofstream
    C.ifstream
    D.iostream
    答:————
13.[单选题] 如果类A被说明成类B的友元,则()。
    A.类A的成员函数不得访问类B的所有成员
    B.类A的成员函数可以访问类B的所有成员
    C.类A的成员即类B的成员
    D.类B的成员即类A的成员
    答:————
14.[单选题] 进行文件操作时需要包含_
()头文件。
    A.iostream
    B.fstream
    C.stdio
    D.stdlib
    答:————
15.[单选题] 派生类中的成员不能访问基类中的()。
    A.私有成员
    B.公有成员
    C.保护成员
    D.以上都可以
    答:————
16.[单选题] 下列关于类的继承描述中,(   )是错误的。
    A.派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数
    B.派生类也是基类,但基类不一定具有派生类的全部属性和方法
    C.继承描述类的层次关系,派生类可以具有与基类相同的属性和方法
    D.一个基类可以有多个派生类,一个派生类可以有多个基类
    答:————
17.[单选题] 要求打开文件 d:\file.dat,可写入数据,正确的语句是(   )。
    A.ifstream infile("d:\file.dat", ios::in);
    B.ifstream infile("d:\\file.dat", ios::in);
    C.ofstream infile("d:\file.dat", ios::out);
    D.fstream infile("d:\\file.dat", ios::in| ios::out);
    答:————
18.[单选题] 空类的声明(    )是正确的。
    A.class类名;
    B.class类名{};
    C.class类名{}
    D.class类名
    答:————
19.[单选题] 对于多重继承,有()。
    A.一个派生类只能有一个基类
    B.一个基类只能产生一个派生类
    C.一个基类必须产生多个派生类
    D.一个派生类可有多个基类
    答:————
20.[单选题] (   )的功能是对对象进行初始化。
    A.析构函数
    B.数据成员
    C.构造函数
    D.静态数据成员
    答:————
21.[单选题] 在C++中,要实现动态联编,可以使用(    )调用虚函数。
    A.类名
    B.派生类指针
    C.对象名
    D.基类指针
    答:————
22.[单选题] 在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是()。
    A.派生类的对象可以直接访问基类的所有成员
    B.派生类的对象可以初始化基类的引用
    C.派生类的对象不可以直接访问基类中的私有成员
    D.派生类的对象的地址可以赋给指向基类的指针
    答:————
23.[单选题] 下列关于C++类的描述中错误的是(      )。
    A.类与类之间可以通过一些手段进行通信和联络
    B.类用于描述事物的属性和对事物的操作
    C.类与类之间必须是平等的关系,而不能组成层次关系
    D.类与类之间可以通过封装而具有明确的独立性
    答:————
24.[单选题] 已知X类.则当程序执行到语句X *array=new X;时,调用了(   )次构造函数。
    A.0
    B.1
    C.2
    D.3
    答:————
25.[单选题] 下列关于构造函数调用顺序的描述中,正确的是()。
    A.创建派生类对象时,先调用基类的构造函数,后调用派生类的构造函数
    B.创建基类对象时,先调用基类的构造函数,后调用派生类的构造函数
    C.创建派生类对象时,先调用派生类的构造函数,后调用基类的构造函数
    D.创建基类对象时,先调用派生类的构造函数,后调用基类的构造函数
    答:————
26.[单选题] 对基类和派生类的描述中错误的是(   )。
    A.派生类是基类的具体化
    B.基类继承了派生类的属性
    C.派生类是基类定义的延续
    D.派生类是基类的特殊化
    答:————
27.[单选题] 声明一个类的对象时,系统自动调用(   )函数。
    A.成员函数
    B.构造函数
    C.析构函数
    D.普通函数
    答:————
28.[单选题] 在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。
    A.派生类的对象可以赋给基类对象
    B.派生类的对象可以初始化基类的引用
    C.派生类的对象可以直接访问基类的成员
    D.派生类的对象的地址可以赋给指向基类的指针
    答:————
29.[单选题] 在使用类创建对象时,系统会自动调用该对象的()完成对象中数据成员的初始化等操作。
    A.友元函数
    B.虚函数
    C.构造函数
    D.析构函数
    答:————
30.[单选题] 下列关于构造函数的描述中,错误的是(   )。
    A.构造函数可以设置默认参数
    B.构造函数在说明类变量时自动执行
    C.构造函数可以对静态数据成员进行初始化
    D.构造函数可以重载
    答:————
31.[单选题] 下列引用的定义中,(    )是错误的。
    A.int i;   int &j=i;
    B.int i;    int &j;    j=i;
    C.float i;float &j=i;
    D.char d;    char &k=d;
    答:————
32.[单选题] 在C++中,类与类之间的继承关系具有(   )。
    A.自反性
    B.对称性
    C.传递性
    D.反对称性
    答:————
33.[单选题] 下面关于类的成员函数描述不正确的是()。
    A.静态成员函数内可以直接访问类的非静态成员数据
    B.静态成员函数内可以直接访问类的静态成员数据
    C.非静态成员函数可以直接访问类的非静态成员数据
    D.非静态成员函数可以直接访问类的静态成员数据
    答:————
34.[单选题] 在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值(    )。
    A.不同
    B.相同
    C.相容
    D.部分相同
    答:————
35.[单选题] 用于类中虚成员函数说明的关键字(   )。
    A.virtual
    B.public
    C.protected
    D.private
    答:————
36.[判断题] 以app方式打开文件时,当前的读指针和写指针都定位于文件尾。
    A.对
    B.错
    答:————
37.[判断题] 派生类对基类继承的成员函数进行重定义后,则通过派生类对象和基类对象调用的都是重定义后的成员函数。
    A.对
    B.错
    答:————
38.[判断题] C++的I/O系统通过流的机制实现文件和控制台的输入输出操作。
    A.对
    B.错
    答:————
39.[判断题] 定义重载函数时,应保证函数类型有所不同。
    A.对
    B.错
    答:————
40.[判断题] 在一个类中最多只能定义1个构造函数和1个析构函数。
    A.对
    B.错
    答:————
41.[判断题] 派生类是从基类派生出来,它不能再生成新的派生类。
    A.对
    B.错
    答:————
42.[判断题] C语言中scanf命令在c++中改用cin。
    A.对
    B.错
    答:————
43.[判断题] 预定义的提取符和插入符是可以重载的。
    A.对
    B.错
    答:————
44.[判断题] 对象数组的元素可以是不同类的对象。
    A.对
    B.错
    答:————
45.[判断题] 在一个类中声明了某个静态数据成员,并在类外给出其定义和初始化后,若未定义该类的对象,该静态数据成员则不存在。
    A.错误
    B.正确
    答:————
46.[判断题] cin是输出流的一个对象,处理标准输出。
    A.对
    B.错
    答:————
47.[判断题] 说明或定义对象时,类名前面不需要加class关键字。
    A.对
    B.错
    答:————
48.[判断题] 编程是将所设计的算法转换成计算机能够运行的代码的过程。
    A.对
    B.错
    答:————
49.[判断题] 定义模板的关键字是template。
    A.对
    B.错
    答:————
50.[判断题] 程序设计过程是指编写程序的过程。
    A.对
    B.错
    答:————

核对题目下载,附件是答案
页: [1]
查看完整版本: 20秋南开《面向对象程序设计》在线作业满分