C++试卷1
一、判断
1、cout不是C++预定义的关键字,它是istream流类的对象。(错;cin是istream流类的对象;cout是ostream流类的对象)
2、一个类只能有一个构造函数和一个析构函数。(错;只能有一个析构函数;可以多个构造函数)
3、在一个类中,如果既不指定private, 也不指定public, 则系统就默认为私有的(对)
4、构造函数和析构函数的调用顺序是:先构造的先析构,后构造的后析构。(错;先构造的后析构;后构造的先析构)
5、转换构造函数的作用是将一个其他类型的数据转换成–个类的对象。(对)
6、类的静态数据成员可以初始化,但只能在类体外进行初始化。(对)
7、指定文件的工作方式是在文件读写之前必须要做的工作。(对)
8、cerr中的信息存放在缓冲区中,缓冲区满后或遇endl时向显示器输出。(错;cerr信息不经过缓冲区;clog信息存放在缓冲区;缓冲区满后或遇到endl向显示器输出)
9、重载运算符的函数不能有默认的参数。(错;)
10、常对象中所有的数据成员的值都不能改变,但可以通过任意成员函数对数据成员进行访问。(错;只能通过常成员函数访问常对象)
二、填空题
1、面向对象程序设计的四大特性是(继承性)、(多态性)、(封装性)、(抽象性)。
2、类和对象的关系可表述为:类是对象的( 抽象), 而对象则是类的(实例 ) 。
3、对象的动态建立使用(new ) 运算符动态分配内存,用( delect)运算符释放这些内存空间。
4、在C++的类定义中,各成员的访问属性有三种,分别是(public),(private),(protected)。
5、( 构造函数)是一类特殊的成员函数,与其他成员函数不同,不需要用户来调用它,在建立类对象时自动执行。
6、C++的多态性分为静态多态性和(动态多态性 ),静态多态性通过(运算符重载 )来实现,而后者是通过( 虚函数)来实现。
7、运算符重载函数可能是类的( 成员)函数,也可以是类的(友元 )函数,还可以是普通函数。
8、假如一个类的名称为MyClass,使用这个类的一个对象初始化该类的另一个对象时,可以调用(拷贝/复制 )构造函数来完成此功能。
9、派生类中的成员不能直接访问基类中的(私有)成员。
10、含有纯虚函数的类称为(抽象类)。
三、填空题
1、下列关于C++函数的叙述中,正确的是(C )
A.每个函数至少要具有一个参数B. 每个函数都必须返回一个值C.函数在被调用之前必须先声明D.函数不能自己调用自己
(D:递归函数)
2、在类中说明的成员可以使用关键字的是(A)
A. public B. extern C. cpu D. register
3、适宜采用inline定义函数情况是(B )
A.函数体含有循环语句
B.函数代码少、频繁调用
C.函数体含有递归语句
D.函数代码多、不常调用
4、在下列函数原型中,可以作为类AA构造函数的是( C)。
A. void AA(int); B. int AA(); C. AA(int); D. AA(int)const;
5、类的析构函数的作用是(D)
A.一般成员函数B. 类的初始化C. 对象的初始化D. 在撤销对象占用的内存之前完成一些清理工作
6、假设AB是一个类,则执行“AB a,b[3];” 语句时,共调用该类构造函数的次数是(D )。
A.1B.2 C.3 D.4
7、静态成员函数没有(B )
A.返回值B. this指针C.指针函数D.返回类型
四 、程序题
6,2.
example x时,a=b++:b++是后置运算,先赋值再加一,所以a=5,在x.print()时,a=a+1,a为6,输出。
const example y(2)直接赋值静态值2
int Test:: num=5;//给num初始化为5
t.show();
Magic &c;
friend ostream;
公用、保护;
公用、公用、公用、保护;
保护、保护、保护、保护、保护、保护;
7,8;3,3;1,1;7,3;4,4