面向对象程序设计c++试题 (含答案)

时间:2025-07-10

面向对象程序设计c++试题 (含答案)

面向对象程序设计c++试题

答案在后面

一、填空题(每空1分,共14分)

1、 观看以下程序:

class point{

public:

void show() {cout<<”point”<<endl;}

};

void main()

{

point p1;

point *p;

p=&p1;

____p1.show()___________//通过对象p1访问show函数 ____p->show()__________//通过指针p访问show函数 }

2、在C++类中可以包含______公有________、____私有__________和_____保护 _________三种具有不同访问控制权的成员。

3、定义类时,在类头中将使用关键字____class _________来表示类定义的开始。

4、如果一个类中至少有一个纯虚函数,则该类称为______抽象类__________。

5、C++类的组成包括数据成员和____成员函数__________,友元__不是___(是、不是)该类的成员函数。

6、友员函数是用关键字____friend ________修饰的非成员函数。

7、若有:

int i;

int &j=i;

i=10;

j=i+1;

则i=___11_______,j=___11 _______。

8、 new的功能是____动态申请内存空间________,delete的功能是_____释放由new申请的空间 _______________。

面向对象程序设计c++试题 (含答案)

二、 选择题(每小题1.5分,共30分)

1、下列特性中不是面向对象程序设计语言所特有的是( D )。

(A)数据封装 (B)继承(C)多态性 (D)模板

2、( B )是给变量取一个别名,它引入了变量的同意词。

(A)指针 (B)引用 (C)枚举 (D)结构

3、类成员的访问权限中,( C )只能被本类的成员函数和其友元函数访问。

(A)share(B)public (C)private (D)protected

4、关于构造函数,下列说法不正确的是( D )。

(A)构造函数名字和类名相同

(B)构造函数在创建对象时自动执行

(C)构造函数无任何函数返回类型

(D)构造函数有且只有一个

5、派生类可以访问其基类的( D )。

(A)公有成员 (B)保护成员

(C)私有派生 (D)公有和保护成员

6、下列关于运算符重载的描述中,错误的是( B )。

(A)运算符重载不可以改变操作数的个数

(B)运算符重载不可以改变运算符的功能

(C)运算符重载不可以改变结合方向

(D)运算符重载不可以改变运算优先级

7、C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是( B )

(A)面向过程 (B)面向对象 (C)安全性 (D)复用性

8、对于类中定义的成员,其隐含访问权限为( C )。

A.public B.protected

C.private D.static

9、下面有关重载函数的说法中正确的是( C )

(A)重载函数必须具有不同的返回值类型; (B)重载函数形参个数必须不同;

(C)重载函数必须有不同的形参列表 (D)重载函数名可以不同;

10、有如下的对类“CSample”的说明,其中( A )是错误的。 class CSample {

面向对象程序设计c++试题 (含答案)

A.int a=23;

B.CSample();

public:

C.CSample(int val);

D.~ CSample();

11、在int a=3,int *p=&a;中,*p的值是( D )

A.变量a的地址值 B.无意义

C.变量p的地址值 D.3

12、每个类( C )构造函数。

(A)只能有一个 (B)只可有公有的

(C)可以有多个 (D)只可有缺省的

13、在一个类中可以对一个操作符进行( D )重载。

(A)1种 (B)2种以下 (C)3种以下 (D)多种

14、在公有继承的情况下,基类非私有成员在派生类中的访问权限( B )

(A) 受限制 (B)保持不变 (C)受保护 (D)不受保护

15、应在下列程序划线处填入的正确语句是( C ) #include <iostream.h>

class Base

{public:

void fun(){cout<<"Base::fun"<<ENDL;}

};

class Derived:public Base

{ void fun()

{_____________//显示调用基类的函数fun()

cout<<"Derived::fun"<<ENDL;

}

};

(A)fun(); (B)Base.fun(); (C)Base::fun(); (D)Base->fun();

16、执行下面的程序将输出( A )

#include <iostream.h>

class BASE{

char c;

public:

BASE(char n):c(n){}

面向对象程序设计c++试题 (含答案)

virtual ~BASE(){cout<<c;}

};

class DERIVED:public BASE{

char c;

public:

DERIVED(char n):BASE(n+1),c(n){}

~DERIVED(){cout<<c;}

};

int main()

{DERIVED a('X');

return 0;

}

(A)XY (B)YX (C)X (D)Y

17、 下面描述中,表达错误的是( B )

(A)公有继承时基类中的public成员在派生类中仍是public的

(B)公有继承是基类中的private成员在派生类中仍是private的

(C)公有继承时基类中的protected成员在派生类中仍是protected的

(D)私有继承时基类中的public成员在派生类中是private的

18、定义析构函数时,应该注意( C )

(A)其名与类名完全相同 (B)返回类型是 void类型

(C)无形参,也不可重载 (D)函数体中必须有 delete语句

19、对于在类中定义的静态数据成员,下面正确的说法是 …… 此处隐藏:4500字,全部文档内容请下载后查看。喜欢就下载吧 ……

面向对象程序设计c++试题 (含答案).doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219