《C++程序设计》2023年春学期在线作业1题目
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.面向对象程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。
A.对数据的操作
B.信息
C.数据隐藏
D.数据抽象
2.下面不能作为函数的返回类型的是()。
A.new
B.int
C.long
D.void
3.在C++中,函数原型不能标识()。
A.函数的返回类型
B.函数参数的个数
C.函数参数类型
D.函数的功能
4.下列语句中错误的是()。
A.int *p=new int (10);
B.int *p=new int[10];
C.int *p=new int;
D.int *p=new int[40](0);
5.下列对模板的声明错误的是()。
A.template <class T1,typename T2>
B.template <class T1, T2>
C.template < typename T>
D.template <class T1,class T2,class T3>
6.考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是()。
A.test(5);
B.test(5,8);
C.test(6,"#")
D.test(0,0,"*");
7.下面描述中,表达错误的是()。
A.公有继承时基类中的public成员在派生类中仍是public的
B.公有继承时基类中的private成员在派生类中仍是private的
C.公有继承时基类中的protected成员在派生类中仍是protected的
D.保护继承时基类中的public成员在派生类中是private的
8.在下面有关对构造函数的描述中,正确的是()。
A.构造函数可以带有返回值
B.构造函数的名字与类名完全相同
C.构造函数必须带有参数
D.构造函数必须定义,不能缺省
9.构造函数是在()时被执行的。
A.程序编译
B.创建对象
C.创建类
D.程序装入内存
10.cout是I/O流库中预定义的()。
A.类
B.对象
C.文件
D.常量
11.下列关于纯虚函数的描述中,正确的是()。
A.纯虚函数是一种特殊的虚函数,它是个空函数
B.具有纯虚函数的类称为虚基类
C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数
D.具有纯虚函数的类不能创建类对象
12.若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()。
A.私有成员
B.公有成员
C.保护成员
D.保护成员或私有成员
13.在多继承的构造函数的定义中,若干个基类的构造函数之间用()分隔开。
A.::
B.:
C.;
D.,
14.下列运算符中,在C++语言中不能重载的是()。
A.*
B.>=
C.::
D./
15.如果一个类至少有一个纯虚函数,那么该类就被称为()。
A.抽象类
B.纯基类
C.基类
D.虚基类
16.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()。
A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
17.对于类定义 class A{ public: virtual void func1( ){ } void func2( ){ } }; class B:public A{ public: void func1( ){cout<<″class B func 1″<<end1;} virtual void func2( ){cout<<″class B f
A.A::func2( )和B::func1( )都是虚函数
B.A::func2( )和B::func1( )都不是虚函数
C.B::func1( )是虚函数,而A::func2( )不是虚函数
D.B::func1( )不是虚函数,而A::func2( )是虚函数
18.将客观实体的特征与行为作为不可分割的整体进行程序设计的方法称为()程序设计。
A.面向应用
B.面向过程
C.面向对象
D.面向系统
19.C++利用()实现面向对象程序设计的继承性。
A.构造数据类型—类
B.类的派生机制
C.构造数据类型—枚举
D.函数重载与运算符重载
20.若已定义了person类,则执行语句"person p1=p2;"将调用p1的()。
A.构造函数
B.拷贝构造函数
C.析构函数
D.赋值运算符重载函数
二、判断题 (共 20 道试题,共 40 分)
21.静态数据成员是类中所有对象共享的,可以通过类的对象访问。
22.函数模板是基于不同的数据类型完成类似的操作,而重载函数则是对不同的数据类型完成相同的操作。
23.成员函数体可以写在类的内部也可以写在类的外部。
24.一个派生类继承多个基类称为多继承。
25.赋值号两边的数据类型不一致时,将无法进行赋值运算。
26.一个派生类继承多个基类称为虚拟继承。
27.一个类可以定义多个构造函数和多个析构函数。
28.虚析构函数的工作过程与普通虚函数不同,普通虚函数只是调用相应层上的函数,而虚析构函数是先调用相应层上的析构函数,然后逐层向上调用基类的析构函数。
29.get()和put()函数的功能是一次读写一个字符,而read()和write()函数是一次读写一个数据块。
30.撤销包含有对象成员的派生类对象时,自动调用析构函数的执行顺序依次为派生类、对象成员所属类、基类的析构函数。
31.C++利用函数重载实现面向对象程序设计的封装性。
32.C++利用类的派生机制实现面向对象程序设计的继承性。
33.如果一个类只定义了一个带参的构造函数,则系统会给它提供缺省的无参构造函数。
34.若一个类A,它的两个直接基类是从同一个间接基类派生而来的,则类A对基类成员的访问会产生二义性。
35.一个类的友元一定是另一个类的成员函数。
36.函数重载与运算符重载都是编译时的多态。
37.输入输出特性是由C++本身提供的。
38.无论何时编译器都为类构造一个无参数的缺省的构造函数。
39.拷贝构造函数是在用一个对象初始化另一个对象时被调用的。
40.成员函数体写在类外部的一定不是内联函数,写在类内部的一定是内联函数。
奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777