一、选择题
1下面关于类和对象的描述中,错误的是
A类就是C语言中的结构体类型,对象就是C语言中的结构体变量
B类和对象之间的关系是抽象和具体的关系
C对象是类的实例,一个对象必须属于一个已知的类
D类是具有共同行为的若干对象的统一描述体
2以下各选项组中,均是C++语言关键字的组是
A public operator this Bshod string static
Cit while >= Dprivate cout printf
3在C++语言中,数据封装要解决的问题是
A数据的规范化 B便于数据转换
C避免数据丢失 D防止不同模块之间数据的非法访问
4以下程序中,错误的行是
①include<iostream. h>
②class A
③{
④ public:
⑤ int n=2:
⑥ A int val{cout<<val<<endl;}
⑦ ~A{};
⑧};
⑨void main
⑩{
⑩ A a0;
⑩}
A⑤ B⑥ C⑦ D⑩
5对类的构造函数和析构函数描述正确的是
A构造函数可以重载,析构函数不能重载
B构造函数不能重载,析构函数可以重载
C构造函数可以重载,析构函数也可以重载
D构造函数不能重载,析构函数也不能重载
6下面程序的运行结果为
includeiostream. h>
class A
{
int num;
public:
Aint i{num=i;}
多态性与虚函数 AA &a{num=a. num++;}
void print{cout<<num;}
};
void main
{
A a1,ba;
a. print;
;
A11 B12 C21 D22
7下面对静态数据成员的描述中,正确的是
A静态数据成员是类的所有对象共享的数据
B类的每个对象都有自己的静态数据成员
C类的不同对象有不同的静态数据成员值
D静态数据成员不能通过类的对象调用
8如果类A被说明成类B的友元,则
A类A的成员即类B的成员
B类B的成员即类A的成员
C类A的成员函数不得访问类B的成员
D类B不一定是类A的友元
9可以用的形式访问派生类对象P的基类成员a,其中a是
A私有继承的公有成员 B公有继承的私有成员
C公有继承的保护成员 D公有继承的公有成员
10建立派生类对象时,3种构造函数分别是a基类的构造函数、b成员对象的构造函数、c派生类的构造函数这3种构造函数的调用顺序为
Aabc Bacb Ccab Dcba
11下面关于虚函数的描述,错误的是
A在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C虚函数可以是另一个类的友元函数,但不能是静态成员函数
D基类中说明的纯虚函数在其任何派生类中都必须实现
12下面关于模板的描述,错误的是
A函数模板和类模板的参数可以是任意的数据类型
B类模板不能直接使用,必须先实例化为相应的模板类.然后定义了模板类的对象后才能使用
C函数模板不能直接使用,需要实例化为模板函数后才能使用
D类模板的成员函数都是模板函数
13语句ofstream f”SALARY. DAT",ios::app iios::binary;的功能是建立流对象f,试图打开文件SALARY. D AT并与之连接,并且
A若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B若文件存在,将其置为空文件;若文件不存在,打开失败
C若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D若文件存在,打开失败;若文件不存在,建立一个新文件
14下面程序的运行结果是
include<iostream. h>
void main
{
int num=1;
int &ref=num;
ref=ref+2;
cout<<num;
num=num+3;
cout<<ref<<endl;
}
A13 B16 C36 D33
15 假定AB为一个类,则该类的拷贝构造函数的声明语句为 ;
A. AB &AB x B. ABAB x
C. ABAB & D. ABAB x
16对于结构中定义的成员,其隐含访问权限为 ;
A. public B. protected
C. private D. static
17当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 ;
A. ios::in B. ios::out
C. ios::int | ios::out D. 没有
18下列关于C++语言类的描述中错误的是
A类用于描述事物的属性和对事物的操作
B类与类之间通过封装而具有明确的独立性
C类与类之间必须是平等的关系,而不能组成层次结构
D类与类之间可以通过一些方法进行通信和联络
19下列描述中哪个是正确的;
A私有派生的子类无法访问父类的成员
B类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的
C私有派生类不能作为基类派生子类
D私有派生类的所有子孙类将无法继续继承该类的成员
20下列关于构造函数说法不正确的是
A构造函数必须与类同名
B构造函数可以省略不写
C构造函数必须有返回值
D在构造函数中可以对类中的成员进行初始化
21如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是
A一元运算符 B二元运算符
C选项A和选项B都可能 D重载错误
22在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是
A一元成员运算符 B二元成员运算符
C一元友元运算符 D选项B和选项C都可能
23下列关于模板的说法正确的是
A模板的实参在任何时候都可以省略 B类模板与模板类所指的是同一概念
C类模板的参数必须是虚拟类型的 D类模板中的成员函数全部都是模板函数
24表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是
A showbase和eof Bshowpoint和eof
Cshowpoint和bad Dshowpoint和good
25一个类的友元函数能够访问该类的
A私有成员 B保护成员 C公有成员 D所有成员
26C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是 A增加了一些新的运算符 B允许函数重载,并允许设置缺省参数 C规定函数说明符必须用原型 D引进了类和对象的概念
27对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是
A公有类型 B私有类型 C保护类型 D友元类型
28在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是
A友元函数 B虚函数 C构造函数 D析构函数
29类的析构函数的作用是
A一般成员函数的初始化 B类的初始化
C对象的初始化 D删除类创建的对象
30下列说法正确的是
A内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C类的内联函数必须在类体内定义
D类的内联函数必须在类体外通过加关键字inline定义
31下面对静态数据成员的描述中,正确的是
A静态数据成员可以在类体内进行初始化
B静态数据成员不可以被类的对象调用
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论