一、判断题
1. C++程序中,不得使用没有定义或说明的变量。( )
2.C和C++都是面向对象的。( )
3.对象实际上是功能相对独立的一段程序。( )
4.包含有纯虚函数的类称为抽象类。( )
5.函数定义 void swap(A &x)中的形式参数是一个变量的地址。( )
6.C++提供了string类型。( )
7.析构函数不能设置默认参数。( )
8.静态成员函数只能直接访问该类的静态数据成员。( )
9.用成员函数重载运算符所需的参数个数总比它的操作数少一个。( )
10.在C++的输入输出系统中,最核心的对象是流。( )
11.在面向对象程序设计中,类通过消息与外界发生关系。( )
12.引用是某个变量或对象的别名,建立引用时要对它初始化。( )
13.当用类的一个对象去初始化该类的另一个对象时,该类的拷贝构造函数会被自动调用。( )
14.拷贝构造函数可以被显示调用。( )
15.一个类的析构函数只能有一个。( )
16.私有派生时,基类的public成员仍被继承为派生类的public成员。( )
17.设类Counter有私有变量x,它的构造函数Counter(int a){x=a;},则对象声明“Counter c1(3);”定义了三个Counter类的对象。( )
18.静态成员函数不能访问静态数据成员。( )
19.类中有函数声明:“friend void f(A &x);”,则函数f只能访问该类的公有成员。( )
20.重载“[]”运算符函数可以带多个参数。( )
二、填空题
1.面向对象程序设计方法具有抽象性、封闭性、继承性和 等特点。
2.声明内联函数的关键字是 。
3.C++有值传递和 传递两种参数传递机制。
4.运算符 用于动态内存分配,运算符 用于释放动态分配的内存。
5.如果类A继承了类B,则类A称为 类,类B称为 类。
6.在C++中,要实现动态联编,必须使用基类指针调用 。
7.具有纯虚函数的类称为 。
8.定义模板的关键字是 。
9.虚基类的作用是解决 问题 。
10.假定ABC是一个类,由“ABC a[5],b(3)”创建对象时该类的构造函数被调用了
次。
11.面向对象程序设计方法,程序可表示为程序=_______________。
12.面向对象程序设计着重于 _________的设计。
13.在创建对象时,使用类作为样板,故称对象为类的 ____________。
14.声明内联函数的关键字是__________
15.要求一个变量在程序运行期间其值不能改变,在声明时要用的修饰符是___________。
16.________是一种参数化的多态性工具,可以为逻辑功能相同而类型不同的程序提供代码共享机制。
17.动态联编所支持的多态性称为 ___________的多态性。
18.使用C++风格的输入输出,在程序中必须包含头文件____________。
19.默认的继承方式为_________继承方式。
20.C++有值传递和 ________传递两种参数传递机制。
21.控制格式输出的操纵符中,( )是设置数据精度的,( )是设置十六进制的。
22.如果s是int型变量,且s=6,则下面s%2+(s+1)%2表达式的值为___ _。
23.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+4’的值为__ __。
24.数组与函数参数联系密切,当用数组元素作函数参数时,这是属于值传递;当数组名作为参数时,这是属于 传递,对形参的改变可影响到实参。
25.利用“对象名.成员变量”形式访问的对象成员仅限于被声明为 的成员;若要访问其他成员变量,需要通过 函数或友元函数函数。
26.一个______和_______的关系,正如基本数据类型与该类型的变量一个。
27.类成员的默认访问方式是______.
28.一个类有_____个构造函数,有_____析构函数。
29.类的_______成员函数不能对类中的非静态成员进行默认访问。
30.如果说明类B是类A的友元类,则类B的所有成员函数都是类A的______。
31.利用成员函数对二元运算符重载,其左操作数为 ,右操作数为 。
32.类有两种用法:一种是类的实例化,即生成类的______ ;另一种是通过_______派生出新的类。
33.运算函数中的关键字是______,它和运算符一起组成该运算符函数的函数名。
34.如果一个类中有一个或多个纯虚函数,则这个类称为______。
35.文件的打开是通过通过使用类________的成员函数________来实现的。
36.设所有变量均为整型,则表达式(e=2,f=5,e++,f++,e+f)的值为____。
37.已知c的ASCII码为十进制数99,设k为字符型变量,则表达式k=‘c’+1的值为________。
38.函数的形参在未被调用之前 分配空间,函数的形参的 要和实参的相同。
39.类的成员分为数据成员和_______。
40.类完成了面向对象程序设计的_____特性。
三、单项选择题
1.下面说法法中错误的是( )
A、C语言是C++的一个子集 B、C语言和C++是兼容的
C、C和C++都是面向对象的 D、C++对C语言进行了一些改进
2.函数没有返回值时,应该选择的函数类型是( )
A、 int B、 float C、 void D、 任意类型
3.在类定义的外部,可以被任意函数访问的成员是( )
A、 所在类成员 B、 private类成员
C、 public类成员 D、 protected类成员
4.有关类的说法不正确的是( )
A、 类是一种用户自定义的数据类型
B、 在类中,不做权限说明的数据变量是私有的
C、 在类中,不做权限说明的数据变量是公有的
D、 类的友元函数可以访问类的私有数据成员
5.类的析构函数被调用的时刻是( )
A、 释放对象 B、 引用对象
C、 创建类 D、 创建对象
6.引入虚基类的目的是为了解决( )
A、 静态联编问题 B、 二义性问题
C、 浅拷贝问题 D、 封装性问题
7.关于this指针正确的说法是( )
A、 this指针必须显示说明
B、 友元函数拥有this指针
C、 当创建一个对象后,this指针就指向该对象
D、 静态成员函数拥有this指针
8.下列中不能重载的运算符是( )
A、 [ ] B、 + C、 = D、 :
9.派生类的的对象可以访问它的基类成员中的( )
A、 公有继承的公有成员 B、 私有继承的公有成员
C、 公有继承的私有成员 D、 公有继承的保护成员
10.定义模板的关键字是( )
A、 template B、 class C、 static D、 public
11.面向对象程序设计着重于( )的设计
A、对象 B、类 C、算法 D、代码
12.如果一个函数的功能不太复杂,但要被频繁调用应选用( )
A、重载函数 B、 内联函数 C、 递归函数 D、 友元函数
13.以下不属于类访问权限的是( )
A、private B、 static C、 public D、 protected
14.有关类的说法不正确的是( )
A、 类是一种用户自定义的数据类型
B、 在类中,不做权限说明的数据变量是公有的
C、 在类中,不做权限说明的数据变量是私有的
D、 可以不定义类的拷贝构造函数
15.下面关于成员函数的说法中不正确的是( )
A、成员函数一定是内联函数
B、 成员函数可以重载
C、 成员函数可以无返回值
D、 成员函数可以设定参数的默认值
16.下面关于构造函数的说法中不正确的是( )
A、构造函数可以有参数,所以也可以有返回值
B、 系统可以提供默认的构造函数
C、 一个类可以有多个构造函数
D、 构造函数可以设置默认参数
17.关于this指针正确的说法是( )
A、 this指针必须显示说明
B、 友元函数拥有this指针
C、 当创建一个对象后,this指针就指向该对象
结构体数组不能作为参数传递给函数 D、 静态成员函数拥有this指针
18.对delete运算符的下列描述中,错误的是( )
A、 用它可以释放用new运算符创建的对象和数组
B、 用它释放一个对象时,它作用于一个new所返回的指针
C、 用它可以一次释放多次用new运算符创建的多个对象
D、 用它释放一个对象数组时,它用的指针名前须加下标运算符
19.可以访问类对象的私有数据成员的是( )
A、 公有派生类的成员函数 B、 该类的友元类派生的成员函数
C、 其它类的公有函数 D、 该类的友元函数
20.一个类的析构函数有( )
A、 任意多个 B、 4个 C、 2个 D、 1个
21.C++源文件的扩展名为( )。
A.cpp B.c C.txt D.exe
22.在C++语言中,( )的陈述是正确的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论