奥鹏作业答案 发表于 2017-5-9 10:09:14

北交17春《面向对象程序设计》在线作业一二答案

北交17春《面向对象程序设计》在线作业一
一、单选题:
1.面向对象系统不具有(    )特性          (满分:2.5)
    A. 继承性
    B. 封装性
    C. 过程性
    D. 多态性
2.通常拷贝构造函数的参数是(    )          (满分:2.5)
    A. 某个对象名
    B. 某个对象的成员名
    C. 某个对象的引用名
    D. 某个对象的指针名
3.有如下程序: #include using namespace std; class Test { public: Test(    ) { n+=2; } ~Test(    ) { n-=3; } static int getNum(    ) { return n; } private: static int n; }; int Test::n = 1; int main(    ) { Test* p = new Test; delete p; cout << "n=" << Test::getNum(    ) << end          (满分:2.5)
    A. n=0
    B. n=1
    C. n=2
    D. n=3
4.在以下关于C++语言的注释的叙述中,不正确的是(    )          (满分:2.5)
    A. C++程序中,注释可用“/*”、“*/”形式表示,也可用“//”形式表示
    B. C++编译器在编译一个程序时,将跳过注释,不对其进行处理
    C. C++编译器在编译一个程序时,可发现注释中的单词拼写错误
    D. 程序中注释的多少不会影响所生成的可执行文件的长度
5.有如下类声明: class Foo { int bar; }; 则Foo类的成员bar是(    )          (满分:2.5)
    A. 公有数据成员
    B. 公有成员函数
    C. 私有数据成员
    D. 私有成员函数
6.假定AB为一个类,则执行“AB a(4) , b , * p ;”语句时,自动调用该类构造函数的次数为(    )。          (满分:2.5)
    A. 3
    B. 4
    C. 6
    D. 9
7.下列关于C++函数的叙述中,正确的是(    )          (满分:2.5)
    A. 每个函数至少要具有一个参数
    B. 每个函数都必须返回一个值
    C. 函数在被调用之前必须先声明
    D. 函数不能自己调用自己
8.执行语句序列 int i=0; while(i<25) i+=3; cou<<i; 输出结果是/(    )          (满分:2.5)
    A. 24
    B. 25
    C. 27
    D. 28
9.关于虚函数的描述中,正确的是(    )          (满分:2.5)
    A. 虚函数是一个static类型的成员函数
    B. 虚函数是一个非成员函数
    C. 基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数
    D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型
10.下列描述中,成员函数中包括(    )的类肯定是抽象类          (满分:2.5)
    A. virtual double Area(    );
    B. virtual double Area(    )=0;
    C. virtual double Area(void){}
    D. double Area(void)=0;
11.结构化程序设计所规定的三种基本控制结构是 (    )          (满分:2.5)
    A. 输入、处理、输出
    B. 树形、网形、环形
    C. 顺序、选择、循环
    D. 主程序、子程序、函数
12.下列不是C++流对象的是(    )。          (满分:2.5)
    A. cout
    B. cin
    C. cerr
    D. ostream
13.要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的是(    )          (满分:2.5)
    A. int vect[ ]={30,50,-88};
    B. int vect[ ]={30,50,-88,0,0};
    C. int vect={30,50,-88};
    D. int vect={30,50,-88,0,0};
14.下面关于析构函数特征的描述正确的是(    )。          (满分:2.5)
    A. 一个类中可以定义多个析构函数
    B. 析构函数名与类名相同
    C. 析构函数不能指定返回类型
    D. 析构函数可以有一个或多个参数
15.下面有关重载函数的说法中正确的是(    )          (满分:2.5)
    A. 重载函数必须具有不同的返回值类型
    B. 重载函数形参个数必须不同
    C. 重载函数必须有不同的形参列表
    D. 重载函数名可以不同
16.对于包括(    )类型数据成员的用户定义类型必须定义其析构函数          (满分:2.5)
    A. static
    B. 指针类型
    C. 字符串
    D. 字符型
17.下列关于派生类可访问它基类成员的描述中,错误的是(    )。          (满分:2.5)
    A. 派生类可访问它基类中的成员与继承方式有关
    B. 派生类不可访问它基类中的私有成员
    C. 公有继承方式下,派生类可访问它基类的私有成员
    D. 私有继承方式下,派生类可访问它基类中的公有成员和保护成员
18.假定a为一个整型数组名,则元素a的字节地址为 (    )。          (满分:2.5)
    A. a+4
    B. a+8
    C. a+16
    D. a+32
19.设x和y均为bool量,则x (    ) y为假的条件是(    )。          (满分:2.5)
    A. 它们均为真
    B. 其中一个为真
    C. 它们均为假
    D. 其中一个为假
20.在声明类时 ,下面说法正确的是(    )。          (满分:2.5)
    A. 可以在类的声明中给数据成员赋初值
    B. 数据成员的数据类型可以是register
    C. private,public,proected 可以按任意的顺序出现
    D. 没有用private,public,proected定义的数据成员是共有成员
21.作用域运算符的功能是(    )          (满分:2.5)
    A. 给定作用域的大小
    B. 表示作用域的级别的
    C. 某个成员是属于哪个类的
    D. 指出作用域的范围的
22.下面(    )不是构造函数的特征。          (满分:2.5)
    A. 构造函数可以重载
    B. 构造函数可以设置缺省参数
    C. 构造函数的函数名和类名相同
    D. 构造函数必须指定返回值类型
23.在下列函数原型中,可以作为类AA构造函数的是(    )          (满分:2.5)
    A. void AA(int);
    B. int AA(    );
    C. AA(int)const;
    D. AA(int);
二、多选题:
1.继承是(    )的方法。          (满分:2.5)
    A. 将特殊的类变成通用的类
    B. 把通用的参数传送给特殊的类的对象
    C. 将通用的类变成特殊的类
    D. 将已有的类添加新的特性,但不重写它们
2.下面说法正确的是(    )          (满分:2.5)
    A. 所有的函数都可以说明为内置函数
    B. 具有循环语句、switch语句的函数不能说明为内置函数
    C. 使用内置函数,可以加快程序执行的速度,但会增加程序代码的大小
    D. 使用内置函数,可以减小程序代码大小,但使程序执行的速度减慢
三、判断题:
1.析构函数是不能重载的 。(    )          (满分:2.5)
    A. 错误
    B. 正确
2.友元类中所有成员函数都是友元函数 。(    )          (满分:2.5)
    A. 错误
    B. 正确
3.在类的定义中,引入友元的原因是提高效率。(    )          (满分:2.5)
    A. 错误
    B. 正确
4.友元函数说明在类体内它是一种成员函数 。(    )          (满分:2.5)
    A. 错误
    B. 正确
5.类的友元函数可以直接访问该类的所有成员。(    )          (满分:2.5)
    A. 错误
    B. 正确
6.一般对象和指向对象指针的成员函数表示分别是运算符.和->。(    )          (满分:2.5)
    A. 错误
    B. 正确
7.一个类可以作为另一个类的友元类。(    )          (满分:2.5)
    A. 错误
    B. 正确
8.作为模板类型参数的关键字class,特别含义是“任何用户定义类的类型”。(    )          (满分:2.5)
    A. 错误
    B. 正确
9.变量必须先定义后赋值。(    )          (满分:2.5)
    A. 错误
    B. 正确
10.抽象类只能用作其他类的基类。(    )          (满分:2.5)
    A. 错误
    B. 正确
11.用new动态申请的内存是在堆中分配的,而不是在栈中分配的。(    )          (满分:2.5)
    A. 错误
    B. 正确
12.在C++语言中,类是支持数据封装的工具。(    )          (满分:2.5)
    A. 错误
    B. 正确
13.常量不能作为左值使用。(    )          (满分:2.5)
    A. 错误
    B. 正确
14.使用const说明常量时,可以不必指出类型.(    )          (满分:2.5)
    A. 错误
    B. 正确
15.静态数据成员的值是不能改变的 。(    )          (满分:2.5)
    A. 错误
    B. 正确
北交《面向对象程序设计》在线作业二

一、单选题:
1.以下保留字(    )不能出现在说明虚函数原型的语句中。          (满分:2.5)
    A. static
    B. operator
    C. void
    D. const
2.有如下函数模板定义: template T func(T x, T y) { return x*x+y*y; } 在下列对func的调用中,错误的是(    )          (满分:2.5)
    A. func(3, 5);
    B. func(3.0, 5.5);
    C. func(3, 5.5);
    D. func(3, 5.5);
3.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为: (    )          (满分:2.5)
    A. AB operator+(AB & a , AB & b)
    B. AB operator+(AB & a)
    C. operator+(AB a)
    D. AB & operator+(    )
4.关于虚函数的描述中,正确的是(    )          (满分:2.5)
    A. 虚函数是一个static类型的成员函数
    B. 虚函数是一个非成员函数
    C. 基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数
    D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型
5.文件操作中,打开文件的访问模式常量中,(    )是以追加方式打开文件的。          (满分:2.5)
    A. ios::in
    B. ios::out
    C. ios::binary
    D. ios::ate
6.设x和y均为bool量,则x&&y为真的条件是 (    )          (满分:2.5)
    A. 它们均为真
    B. 其中一个为真
    C. 它们均为假
    D. 其中一个为假
7.C++语言的跳转语句中,对于break和continue说法正确的是(    )          (满分:2.5)
    A. break语句只应用于循环体中
    B. continue语句只应用于循环体中
    C. break是无条件跳转语句,continue不是
    D. break和continue的跳转范围不够明确,容易产生问题
8.以下错误的描述是(    )。 函数调用可以          (满分:2.5)
    A. 出现在一个表达式中
    B. 出现在执行语句中
    C. 作为一个函数的实参
    D. 作为一个函数的形参
9.下列关于运算符重载的叙述中,正确的是(    )          (满分:2.5)
    A. 通过运算符重载,可以定义新的运算符
    B. 有的运算符只能作为成员函数重载
    C. 若重载运算符+,则相应的运算符函数名是+
    D. 重载一个二元运算符时,必须声明两个形参
10.下面关于派生类的描述中,(    )是错的。          (满分:2.5)
    A. 一个派生类可以作为另一个派生类的基类
    B. 派生类至少有一个基类
    C. 派生类的成员除了它自己的成员外,还包含了它的基类的成员
    D. 派生类中继承的基类成员的访问权限到派生类保持不变
11.下列有关类的说法不正确的是(    )。          (满分:2.5)
    A. 对象是类的一个实例
    B. 任何一个对象只能属于一个具体的类
    C. 一个类只能有一个对象
    D. 类与对象的关系和数据类型与变量的关系相似
12.下列静态数据成员的特性中,错误的是(    )          (满分:2.5)
    A. 说明静态数据成员前边加static
    B. 静态数据成员要在类体外初始化
    C. 引用静态数据成员时,要在静态数据成员前加和作用域运算符
    D. 静态数据成员不是一个类所有对象共享的
13.下列描述中,成员函数中包括(    )的类肯定是抽象类          (满分:2.5)
    A. virtual double Area(    );
    B. virtual double Area(    )=0;
    C. virtual double Area(void){}
    D. double Area(void)=0;
14.若用数组名作为函数调用时的实参,则实际上传递给形参的是(    )          (满分:2.5)
    A. 数组首地址
    B. 数组的第一个元素值
    C. 数组中全部元素的值
    D. 数组元素的个数
15.下列关于派生类可访问它基类成员的描述中,错误的是(    )。          (满分:2.5)
    A. 派生类可访问它基类中的成员与继承方式有关
    B. 派生类不可访问它基类中的私有成员
    C. 公有继承方式下,派生类可访问它基类的私有成员
    D. 私有继承方式下,派生类可访问它基类中的公有成员和保护成员
16.for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是(    )          (满分:2.5)
    A. 0
    B. 5
    C. 6
    D. 无数次
17.下列关于类和对象的叙述中,错误的是(    )          (满分:2.5)
    A. 一个类只能有一个对象
    B. 对象是类的具体实例
    C. 类是对某一类对象的抽象
    D. 类和对象的关系是一种数据类型与变量的关系
18.下面函数的功能是(    )。 void fun(char s1[ ], char s2[ ]) { while(s2++=s1++); }(          (满分:2.5)
    A. 字符串比较
    B. 字符串复制
    C. 字符串连接
    D. 字符串反向
19.要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的是(    )          (满分:2.5)
    A. int vect[ ]={30,50,-88};
    B. int vect[ ]={30,50,-88,0,0};
    C. int vect={30,50,-88};
    D. int vect={30,50,-88,0,0};
20.假定a为一个整型数组名,则元素a的字节地址为 (    )。          (满分:2.5)
    A. a+4
    B. a+8
    C. a+16
    D. a+32
21.对于包括(    )类型数据成员的用户定义类型必须定义其析构函数          (满分:2.5)
    A. static
    B. 指针类型
    C. 字符串
    D. 字符型
22.下列函数中,(    )是对文件进行读操作的。          (满分:2.5)
    A. read(    )
    B. write(    )
    C. tellg(    )
    D. seekp(    )
23.下列不是C++流对象的是(    )。          (满分:2.5)
    A. cout
    B. cin
    C. cerr
    D. ostream
二、多选题:
1.下列函数中,可以作为虚函数的是(    )。          (满分:2.5)
    A. 普通函数
    B. 非静态成员函数
    C. 构造函数
    D. 析构函数
2.下面说法正确的是(    )          (满分:2.5)
    A. 将数据结构和算法置于同一个函数内,即为数据封装
    B. 一个类通过集成可以获得另一个类的特征
    C. 面向对象要求程序员集中于事物的本质特征,用抽象的观点看待程序
    D. 同一消息为不同的对象接受时,产生的行为是一样的,这称为一致性
三、判断题:
1.在类的定义中,引入友元的原因是提高效率。(    )          (满分:2.5)
    A. 错误
    B. 正确
2.作为模板类型参数的关键字class,特别含义是“任何用户定义类的类型”。(    )          (满分:2.5)
    A. 错误
    B. 正确
3.成员函数中调用的虚函数可能实现动态联编。(    )          (满分:2.5)
    A. 错误
    B. 正确
4.变量必须先定义后赋值。(    )          (满分:2.5)
    A. 错误
    B. 正确
5.析构函数是不能重载的 。(    )          (满分:2.5)
    A. 错误
    B. 正确
6.在C++语言中,类是支持数据封装的工具。(    )          (满分:2.5)
    A. 错误
    B. 正确
7.静态数据成员的值是不能改变的 。(    )          (满分:2.5)
    A. 错误
    B. 正确
8.静态数据成员函数是属于某个对象的。(    )          (满分:2.5)
    A. 错误
    B. 正确
9.一个类可以作为另一个类的友元类。(    )          (满分:2.5)
    A. 错误
    B. 正确
10.派生类不能作为基类派生出新类。(    )          (满分:2.5)
    A. 错误
    B. 正确
11.子对象的初始化在其构造函数的成员初始化列表中实现。(    )          (满分:2.5)
    A. 错误
    B. 正确
12.常量不能作为左值使用。(    )          (满分:2.5)
    A. 错误
    B. 正确
13.在类体内允许对数据成员进行初始化 。(    )          (满分:2.5)
    A. 错误
    B. 正确
14.构造函数的定义必须在类体内 。(    )          (满分:2.5)
    A. 错误
    B. 正确
15.类的友元函数可以直接访问该类的所有成员。(    )          (满分:2.5)
    A. 错误
    B. 正确

页: [1]
查看完整版本: 北交17春《面向对象程序设计》在线作业一二答案