1.任意一个类,析构函数的个数最多是:
(A) 不限个数 (B) 1 (C) 2 (D) 3
2.下列关于this指针的说法,哪个是正确的:
(A) this指针一定指向常量型数据 (B) this指向的数据不可更改
(A) this指针一定指向常量型数据 (B) this指向的数据不可更改
(C) 静态成员函数中也可以访问this指针 (D) this指针本身可直接作为成员函数的返回值
3.在类定义中,为说明成员的访问权限,private, protected, public 可以出现次数为:
(A)次数没有具体限定 (B) 每种至多一次
(C) public 至少一次 (D) 每种至少一次
(C) public 至少一次 (D) 每种至少一次
4.下面哪种定义方式是正确的,并且使得p可以作为函数void f( A* const pp);的实参:.
(A) A * p = new A; (B) A a; A* p = a;
(C) const A* p = new A; (D) A a; const A* p = a;
(A) A * p = new A; (B) A a; A* p = a;
(C) const A* p = new A; (D) A a; const A* p = a;
5.obj是类A的一个对象,执行语句 const A& aA= obj; ,则下列说法正确的是:
(A) 类A的拷贝构造函数会被调用 (B) 类A的赋值函数会被调用
(C) &aA的值就是 &obj (D) 语句obj.f( );等价于语句aA.f( );
(C) &aA的值就是 &obj (D) 语句obj.f( );等价于语句aA.f( );
6.下面关于访问类A的私有数据成员的说法,错误的是:
(A) 类A的友元函数可以访问类A的私有成员。
(A) 类A的友元函数可以访问类A的私有成员。
(B) 类A的友元类中的非静态成员函数可以访问类A的私有成员。
(C) 类A的嵌套类中的非静态成员函数可以访问类A的私有成员。
(C) 类A的嵌套类中的非静态成员函数可以访问类A的私有成员。
(D) 类A中的非静态成员函数可以访问类A的私有成员。
7.类A中有唯一的一个成员函数f,且f是公有的静态或非静态成员函数,对于类A的一个对象a,执行语句 a.f(100);成功,那么f 的函数原型不可以是:
(A) A& f( int, int=50 ); (B) void f(int& ) ;
(C) const A * f(const int ); (D) A f( const int&);
8.下面关于类的成员函数描述不正确的是:
(A) 静态成员函数内可以直接访问类的非静态成员数据
(B) 静态成员函数内可以直接访问类的静态成员数据
(C) 非静态成员函数可以直接访问类的非静态成员数据
(D) 非静态成员函数可以直接访问类的静态成员数据(全局成员)
9. 多继承派生类构造函数构造对象时,( )被最先调用。
A.派生类自己的构造函数 B.虚基类的构造函数
C.非虚基类的构造函数 D.派生类中子对象类的构造函数
10. 下列有关类的说法不正确的是( )。
A. 对象是类的一个实例
B. 任何一个对象只能属于一个具体的类
C. 一个类只能有一个对象
D. 类与对象的关系和数据类型与变量的关系相似
11. 下面( )项是对构造函数和析构函数的正确定义。
A.void X::X(), void X::~X()
B.X::X(参数), X::~X()
C.X::X(参数), X::~X(参数)
D.void X::X(参数), void X::~X(参数)
12. 若有以下定义,则说法错误的是()。
int a=100,*p=&a ;
A.声明变量p,其中*表示p是一个指针变量
B.变量p经初始化,获得变量a的地址
C.变量p只可以指向一个整形变量
D.变量p的值为100
13在C++类中可以包含______________、______________和______________三种具有不同访问控制权的成员。
14.定义类时,在类头中将使用关键字_____________来表示类定义的开始。
15.如果一个类中至少有一个纯虚函数,则该类称为________________。
16.new的功能是____________________,delete的功能是____________________。
17.若派生类函数不是基类的友元,关于该函数访问基类成员( )正确:
A.公有的可被派生类函数访问 B.都可以被派生类函数访问
C.公有和保护的可被派生类函数访问 D.都不对
A.公有的可被派生类函数访问 B.都可以被派生类函数访问
C.公有和保护的可被派生类函数访问 D.都不对
18.关于函数的所有缺省参数的叙述( )正确:
A.只能出现在参数表的最左边 B.只能出现在参数表的最右边
C.必须用非缺省的参数隔开 D.都不对
A.只能出现在参数表的最左边 B.只能出现在参数表的最右边
C.必须用非缺省的参数隔开 D.都不对
19.关于inline保留字的用途,选择正确的叙述填入括号内。( )
A.只能用于定义成员函数 B.只能用于定义非成员函数
C.可以定义成员函数及非成员函数 D.都不对
A.只能用于定义成员函数 B.只能用于定义非成员函数
C.可以定义成员函数及非成员函数 D.都不对
20.每个类( )构造函数。
A.只能有一个 B.只可有公有的
C.可以有多个 D.只可有缺省的
21.在公有继承的情况下,基类数据成员在派生类中的访问权限( )。
22.类成员的默认访问方式是( ).
23.运算函数中的关键字是( ),它和运算符一起组成该运算符函数的函数名。数组定义时初始化
24.构造函数是( )被创建时自动执行,对象消失时自动执行的成员函数称为( )对象
25.类的( )数据成员是类所有对象共享的成员。
26.友元函数( )类的成员函数。(是/不是)
27.关于静态数据成员的叙述( )正确:
A.公有的可在类体外初始化 B.私有的不能在类体外初始化
C.私有和保护的不能在类体外初始化 D.都可以且必须在类体外初始化
A.公有的可在类体外初始化 B.私有的不能在类体外初始化
C.私有和保护的不能在类体外初始化 D.都可以且必须在类体外初始化
28.使用friend、virtual、static说明函数的叙述( )正确:
A.必须同时使用三个 B.只能同时用其中两个
C.只能独立单个地使用 D.都不对
A.必须同时使用三个 B.只能同时用其中两个
C.只能独立单个地使用 D.都不对
29.在一个类中可以对一个操作符进行( )重载。
A.1 种 B.2 种以下 C.3 种以下 D.多种
30.在公有继承的情况下,基类非私有成员在派生类中的访问权限( )
A.受限制 B.保持不变 C.受保护 D.不受保护
31.下面有关重载函数的说法中正确的是( )。
A.重载函数必须具有不同的返回值类型; B.重载函数形参个数必须不同;
C.重载函数必须有不同的形参列表 D.重载函数名可以不同;
32.C++中声明常量的关键字是( )。
A.const B.extern C.public D.enum
33. 下列特性中不是面向对象程序设计语言所特有的是( )。
A.数据封装 B.继承 C.多态性 D.模板
34.拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数的工作方法是( )。
35.用new申请某一个类的动态对象数组时,在该类中必须能够匹配到( )构造函数,否则应用程序会产生一个编译错误。
36.静态数据成员必须在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象( )。
37.在多个类之间有重复继承时,为避免被重复继承的基类数据成员在内存中有多个拷贝,应将该基类定义为()。
38.在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为( ),定义该类至少具有一个( )。
39.在C++中构造一个对象时,其数据成员在构造函数中初始化。对于内嵌的对象、 ( )、 ( )数据成员需要在构造函数的成员初始化列表中初始化。
40.在类的定义中,说明为protected的数据成员称为保护成员。保护数据成员具有双重作用:对于其派生类而言, ( );而对于其外部的程序而言, ( )。
41.控制格式输出的
操纵符中,( )是设置数据精度的,( )是设置十六进制的。
42.如果s是int型变量,且s=6,则下面s%2+(s+1)%2表达式的值为( )。
43.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+4’的值为
( )。
44.数组与函数参数联系密切,当用数组元素作函数参数时,这是属于值传递;当数组名作为参数时,这是属于 传递,对形参的改变可影响到实参。
45.利用“对象名.成员变量”形式访问的对象成员仅限于被声明为 的成员;若要访问其他成员变量,需要通过 函数或友元函数函数。
47.已知c的ASCII码为十进制数99,设k为字符型变量,则表达式k=‘c’+1的值为___ ____。
48.函数的形参在未被调用之前 分配空间,函数的形参的类型 要和实参的相同。
49.在继承机制下,当对象消亡时,编译系统先执行 的析构函数,然后才执行派生类中子对象类的析构函数,最后执行 的析构函数。
50.运算符重载后,原运算符的优先级和结合特性_ ___改变。(会/不会)
51.下列描述中,( )是抽象类的特征。
A.可以说明虚函数 B.可以进行构造函数重载
C.可以定义友元函数 D.不能说明其对象
52.C++的合法注释是( )。
A./*This is a C program/* B.// This is a C program
C. “This is a C program” D./*This is a C program//
53.关于C++和C语言的描述中,( )是错误的?
A.C是C++的一个子集 B. C程序在C++环境可以运行
C. C++程序在C环境可以运行 D. C++是面向对象的而C是面向过程的
54.下列哪个不是重载函数在调用时选择的依据( )。
A.参数类型 B.参数个数 C.函数类型 D.函数名
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论