电子科技大学《C++语言程序设计》14春在线作业答案
电子科技大学《C++语言程序设计》14春在线作业1试卷总分:100 测试时间:--
一、单选题(共20道试题,共100分。)
1.下列有关内联函数的叙述中,正确的是()
A. 内联函数是通过编译器来实现的
B. 内联函数必须通过关键字inline来定义
C. 内联函数在调用时发生控制转移
D. 内联函数函数体的最后一条语句必须是return语句
满分:5分
2.类的析构函数的作用是()
A. 一般成员函数的初始化
B. 类的初始化
C. 对象的初始化
D. 删除类创建的对象
满分:5分
3.C++泛型编程通过()实现。
A. void
B. template
C. NULL
D. typedef
满分:5分
4.若一个类中含有纯虚函数,则该类称为()
A. 基类
B. 纯基类
C. 派生类
D. 抽象类
满分:5分
5.用struct定义的类的成员缺省段约束符的说明,则应为()的成员。
A. 私有段
B. 保护段
C. 公有段
D. 所有段
满分:5分
6.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()
A. 友元函数
B. 虚函数
C. 构造函数
D. 析构函数
满分:5分
7.cout是()类的标准对象的引用。
A. ostream
B. istream
C. stdout
D. stdin
满分:5分
8.说明虚函数的关键字为
A. inline
B. virtual
C. static
D. define
满分:5分
9.下列运算符中()可以进行运算符重载
A. new
B. ::
C. sizeof
D. :
满分:5分
10.以下()没有函数返回类型,但又必须有return 语句。
A. 析构函数
B. 类类型转换函数
C. 运算符重载函数
D. 构造函数
满分:5分
11.模板对类型的参数化提供了很好的支持,因此()
A. 类模板的主要作用是生成抽象类
B. 类模板实例化时,编译器将根据给出的模板实参生成一个类
C. 在类模板中的数据成员都具有同样类型
D. 类模板中的成员函数都没有返回值
满分:5分
12.下列运算符重载时,只能采用类成员函数形式的有()
A. <<
B. +
C. []
D. ==
满分:5分
13.纵观诸多面向对象的程序设计语言,最新核心的概念不包括()
A. 数据封装
B. 继承
C. 多态性
D. 类属
满分:5分
14.下列情况中,不会调用拷贝构造函数的是()
A. 用一个对象去初始化同一类的另一个新对象时
B. 函数的形参是类的对象,调用函数进行形参和实参结合时
C. 函数的返回值是类的对象,函数执行返回调用时
D. 将类的一个对象赋值给该类的另一个已经存在的对象时
满分:5分
15.下面对静态数据成员的描述中,正确的是()
A. 可以在类体内进行初始化
B. 不可以被类的对象调用
C. 不能受private控制符的作用
D. 可以直接用类名调用
满分:5分
16.说明静态成员函数的关键字为()
A. virtual
B. static
C. enum
D. inline
满分:5分
17.下列运算符不能重载为友元函数的是()
A. = () [] ->
B. + - ++ --
C. > < >= <=
D. += -= *= /=
满分:5分
18.下面关于C++流的说明中,正确的是()
A. 与键盘、屏幕、打印机和通信端口的交互郡可以通过流类来实现
B. 从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作
C. cin是一个预定义的输入流类
D. 输出流有一个名为open的成员函数,其作用是生成一个新的流对象
满分:5分
19.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()
A. 增加了一些新的运算符
B. 允许函数重载,并允许设置缺省参数
C. 规定函数说明符必须用原型
D. 引进了类和对象的概念
满分:5分
20.下面对于友元函数描述正确的是()
A. 实现必须在类的内部定义
B. 是类的成员函数
C. 破坏了类的封装性和隐藏性
D. 不能访问类的私有成员
《C++语言程序设计》14春在线作业2
试卷总分:100 测试时间:--
一、单选题(共20道试题,共100分。)
1.对A*p用newA或(A*)malloc(sizeof(A))赋值,如下叙述正确的是()
A. malloc分配内存后会调用构造函数初始化,但new函数不会。
B. new分配内存后会调用构造函数初始化,但malloc函数不会。
C. new和malloc分配内存后都会调用构造函数初始化。
D. new和malloc分配内存后都不会调用构造函数初始化。
满分:5分
2.下列()不能有参数。
A. 构造函数
B. 析构函数
C. 友元函数
D. 运算
满分:5分
3.private访问属性限制对象的成员可以在()中访问。
A. 本类的成员函数
B. main函数
C. 父类的成员函数
D. 子类的成员函数
满分:5分
4.下列()是C++语言的有效标识符。
A. No.1
B. 12345
C. _No1
D. int
满分:5分
5.下列关于类的描述中,错误的说法是()
A. 类是一组对象的模板
B. 类是数据和操作的封装体
C. 类是对象的实例
D. 类是一种自定义的数据类型
满分:5分
6.下面()不能由编译系统自动生成
A. 构造函数
B. 析构函数
C. 拷贝构造函数
D. 友元函数
满分:5分
7.有类模板定义如下:template <class Type> class Dream { }下列类对象的定义中,正确的是()
A. Dream a
B. Dream<class int> a
C. Dream<int> a
D. Dream<class Type> a
满分:5分
8.以下()是不正确的强制类型转换方式。
A. (type表达式)
B. (type)表达式
C. type(表达式)
D. (type)(表达式)
满分:5分
9.重载“>>”时,为保证其连用性,重载函数的返回类型应为()
A. istream
B. ostream
C. istream &
D. ostream &
满分:5分
10.如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为()
A. myclass operator++()
B. myclass operator++( int )
C. myclass& operator++()
D. myclass& operator++( int )
满分:5分
11.若有float f=6.8;int i= int(f); 则i的值为()
A. 6
B. 7
C. 6.8
D. 不确定
满分:5分
12.运算符重载是对已有的运算符赋予多重含义,因此()
A. 可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义
B. 可以改变一个已有运算符的优先级和操作数个数
C. 只能重载C++中已经有的运算符,不能定义新运算符
D. C++中已经有的所有运算符都可以重载
满分:5分
13.有关类和对象的说法不正确的是()
A. 对象是类的一个实例
B. 一个类只能有一个对象
C. 任何一个对象只能属于一个具体的类
D. 类与对象的关系和数据类型与变量的关系相似
满分:5分
14.C++源程序文件的扩展名为()
A. .cpp
B. .c
C. .c++
D. .dll
满分:5分
15.下列关于运算符重载的描述中,正确的是()
A. 不能改变运算符的优先级
B. 能够改变操作数的数目
C. 能够重载内嵌类型的运算符的预定含义
D. 通过重载运算符“()”能够改变运算符的结合性
满分:5分
16.下列关于抽象类的描述中,正确的是()
A. 抽象类中最多只能有一个纯虚函数
B. 抽象类不能定义该类的指针
C. 抽象类不能定义该类的对象
D. 抽象类至少有一个虚函数
满分:5分
17.空类就是没有()的类。
A. 类名
B. 任何成员
C. 数据成员
D. 成员函数
满分:5分
18.有如下函数模板定义:template <class T> T f(T x,T y) {return x*x+y*y;} 在下列对f的调用中,错误的是()
A. f(3,5)
B. f(3.0,5.5)
C. f<int>(3,5.5)
D. f(3,5.5)
满分:5分
19.说明友元函数的关键字为()
A. inline
B. virtual
C. friend
D. define
满分:5分
20.含有()的类称为抽象类,不能直接用它实例化对象。
A. 纯虚函数
B. 虚函数
C. 静态成员
D. 友元
《C++语言程序设计》14春在线作业3
试卷总分:100 测试时间:--
一、单选题(共20道试题,共100分。)
1.在下列函数原型中,可以作为类A构造函数的是()
A. void A(int)
B. int A()
C. A(int)const
D. A(int)
满分:5分
2.已知类X中的一个成员函数说明如下:void Set(X & a); 其中,X & a的含义是()
A. 指向类X的指针为a
B. 将a的地址赋给变量Set
C. a是类X的对象引用,用来作为Set()的形参
D. 变量X与a按位相与作为函数Set()的参数
满分:5分
3.下面有关类说法不正确的是()
A. 在一个类中不能说明具有类类型的数据成员
B. 一个类可以有多个构造函数
C. 一个类只有一个析构函数,且析构函数不能被指定参数
D. 一个类中public、protected和private三者说明的顺序可以任意,且可以被使用多次,也可以不使用
满分:5分
4.用成员函数重载一元运算符θ,则显示调用方式为()
A. obj θ
B. θ obj
C. obj.operator θ()
D. operator θ(obj)
满分:5分
5.下列有关继承和派生的叙述中,正确的是()
A. 如果一个派生类公有继承其基类,则该派生类对象可以直接访问基类的私有成员
B. 派生类的成员函数可以访问基类的所有成员
C. 基类对象可以赋值给派生类对象
D. 如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类
满分:5分
6.下列说法正确的是
A. 定义构造函数必须指出其返回类型,并且不允许重载构造函数
B. 静态数据成员可以在类体中、类体外被初始化,但无需通过构造函数
C. 默认构造函数是不接受实参的函数,并且能由系统自动生成
D. 在创建一个新的类对象时,系统会为它的所有成员分配一块存储空间
满分:5分
7.C++程序总是从()开始执行。
A. 构造函数
B. 析构函数
C. main()函数
D. 主类
满分:5分
8.说明内联函数的关键字为()
A. inline
B. virtual
C. static
D. define
满分:5分
9.在main()函数中,若有函数调用func(…),而func在类A中定义,则func函数是A类的()函数。
A. 友元
B. 构造
C. 静态公有成员
D. 析构
满分:5分
10.一个类的友元函数能够访问该类的()
A. 私有成员
B. 保护成员
C. 公有成员
D. 所有成员
满分:5分
11.const A * p; 以下声明的含义是()
A. p是指向类A对象的指针
B. p是指向类A常对象的指针,该指针指向的对象是常量
C. p是指向类A常成员的指针
D. p是指向类A对象的常指针,该指针值是常量
满分:5分
12.cin是()类的标准对象的引用。
A. ostream
B. istream
C. stdout
D. stdin
满分:5分
13.下列运算符中不能重载的是()
A. ::
B. +
C. <<
D. &&
满分:5分
14.new必须与()配对使用。
A. close
B. delete
C. return
D. exit
满分:5分
15.不能参与重载的是()
A. 类
B. 函数
C. 函数模板
D. 运算符
满分:5分
16.若有X obj; (X为类名),则调用构造函数的次数为()
A. 0
B. 1
C. 100
D. 任意
满分:5分
17.关于对象成员的构造函数的调用顺序,说法正确的是()
A. 与它们在成员初始化列表中给出的顺序相同
B. 与析构函数的调用顺序相同
C. 与它们在类中定义说明的顺序相同
D. 以上说法都不对
满分:5分
18.下列()不是构造函数的特征。
A. 构造函数的函数名与类名相同
B. 构造函数可以重载
C. 构造函数可以设置形式参数的默认值
D. 构造函数必须指定函数类型
满分:5分
19.在一个派生类对象结束其生命周期时()
A. 先调用派生类的析构函数后调用基类的析构函数
B. 先调用基类的析构函数后调用派生类的析构函数
C. 如果基类没有定义析构函数,则只调用派生类的析构函数
D. 如果派生类没有定义析构函数,则只调用基类的析构函数
满分:5分
20.若在类外有函数调用X::func();则函数func是类 X的()函数。
A. 私有静态成员函数
B. 公有非静态成员函
C. 公有静态成员函数
D. 友元函数
满分:5分
页:
[1]