科目名称:04737C++程序设计
试卷全称:2016年10月高等教育自学考试C++程序设计试题
真题示例:
(文档是没有水印的,下图加水印是为了防盗图)
文本示例:
1.一个函数的功能不太复杂,但要求被频繁调用,选用最适合的是( )
A.内联函数
B.重载函数
C.递归函数
D.嵌套函数
2.假定有类AB,有相应的构造函数定义,能正确执行“AB a(4), b(5), c[3], *p[2]={&a, &b};”语句,请问执行完此语句后共调用该类析构函数的次数为( )
A.14
B.5
C.3
D.1
3.在下面有关析构函数特征的描述中,正确的是( )
A.一个类中可以定义多个析构函数
B.析构函数名与类名完全相同
C.析构函数不能指定返回类型
D.析构函数可以有一个或多个参数
4.派生类的对象对它的哪一类基类成员是可以访问的( )
A.公有继承的基类的公有成员
B.公有继承的基类的保护成员
C.公有继承的基类的私有成员
D.保护继承的基类的公有成员
5.如果A是抽象类,则下面正确的是( )
A.A中没有纯虚函数
B.A a;
C.A a[3];
D.A *pa;
6.下列关于纯虚函数与抽象类的描述中,错误的是( )
A.纯虚函数是一种特殊的函数,它允许没有具体的实现
B.抽象类是指具有纯虚函数的类
C.一个基类的说明中有纯虚函数,该基类的派生类一定不再是抽象类
D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出
7.cout是C++的( )
A.关键字
B.对象
C.类
D.运算符
8.下列哪个函数不是类的成员函数( )
A.构造函数
B.析构函数
C.友元函数
D.拷贝构造函数
9.下列有关重载函数的说法中错误的是( )
A.重载函数必须具有不同的返回值类型
B.重载函数名必须相同
C.重载丞数参数个数可以不同
D.重载函数必须有不同的形参列表
10.下面说法正确的是( )
A.生成对象时调用析构函数
B.定义类时必须写出该类的构造函数
C.调用构造函数时必须在主函数中明确写出调用格式
D.析构函数不可以重载
11.在编译指令中,宏定义使用指令( )
A.#define
B.#include
C.#typedef
D.#friend
12.假设声明了以下的函数模板,错误的调用语句是( ) template ﹤class T﹥ T max(T x, T y) { return (x﹥y)?x:y; } 并定义了int i; char c;
A.max(i,i)
B.max(c,c)
C.max((int)c,i)
D.max(i,c)
13.若有说明:int n=2, *P=&n, *q=p;,则以下非法的赋值语句是( )
A.n=*q
B.p=n
C.p=q
D.*q=*p
14.进行文件操作时需要包含头文件( )
A.iostream
B.fstream
C.stdio
D.stdlib
15.类模板template ﹤class T﹥classX{…};,其中友元函数f对特定类型T(如int),使函数f(X ﹤int﹥&)成为X﹤int﹥模板类的友元,则其说明应为( )
A.friend void f( );
B.friend void f(X﹤T﹥&);
C.friend void A::f( );
D.friend void C(T);
16.动态编联所支持的多态性称为运行时的多态性,支持的函数是( )
A.构造函数
B.友元函数
C.继承
D.虚函数
17.用运算符delete删除—个动态对象时( )
A.首先为该动态对象调用构造函数,再释放其占用的内存
B.首先释放该动态对象占用的内存,再为其调用构造函数
C.首先为该动态对象调用析构函数,荐释放其占用的内存
D.首先释放该动态对象占用的内存,再为其调用析构函数
18.下列字符常量的写法中,错误的是( )
A." "
B."b"
C."*"
D."a"