文档详情

面向对象程序设计与C++语言.doc

发布:2017-02-08约3.02千字共3页下载文档
文本预览下载声明
一、?选择题 2、假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为(A???)。?? ???????A.?x.a?? B.?x(a)??????C.?x[a]?????D.?x-a?????? 3、对于在类中定义的静态数据成员,下面正确的说法是(??C??) A.该类的每个对象中都有一个静态数据成员? B.对象创建时产生??????? C.在类外进行初始化? D.既可以在类外初始化,也可以在类内初始化 4下面有关重载函数的说法中正确的是(??B??)?? (A)重载函数必须具有不同的返回值类型;?? (B)重载函数必须有不同的形参列表? (C)重载函数形参个数必须不同;???? ?(D)重载函数名可以不同; 5、对于语句?coutxendl;错误的是描述是(??D?)。? ?A)“cout”是一个输出流对象??? B)“endl”的作用是输出回车换行??? C)“x”是一个变量???????????? ?D)“”称作提取运算符 6、下列关于C++函数的叙述中,正确的是(??D??)。? ??A)每个函数至少要具有一个参数?? ?B)每个函数都必须返回一个值??? ?C)函数不能自己调用自己 D)函数在被调用之前必须先声明? 7、在C++中,用于实现运行时多态性的是(???A?)。? ??A)虚函数 B)内联函数?????C)重载函数?????D)模板函数?? 8?、若函数f的原型说明为:? ???int?f(char?a,char?*b=NULL,double?c=0.0);? ???则以下调用函数f的选项中,存在语法错误的是:?(C) ?A.?f(‘\099’)??????? ?B.?f(‘A’,”123”)????? ??C.?f(‘A’,4.5)??????????D.?f((char)65,”123”)?? 9、类X中,若没有定义构造函数,则默认的构造函数是(A ). (A).X ( ){ } (B).X (X x){ *this=x;} (C).~X ( ){ } (D).不存在 若类X中没有定义拷贝构造函数,则系统为类X定义的默认拷贝构造函数的原型为( X::X(X x); )或者( X(X x) )。 ?以下基类中的成员函数表示纯虚函数的是(D)? A.?void?tt(int)=0? B.?virtual?void?tt(int)? C.?virtual?void?tt(int){} D.?virtual?void?tt()=0? 判断题 1、友元函数用于允许一个函数访问类的私有成员。 ( √ ) 2、在 C++中,也可使用 struct 来声明类,但在该类中不能声明成员函数。 (×) ( √ ) 4、在传值调用中,要求实参和形参的类型完全一致并且个数相等。(×) ( √ ) 6、类成员的默认访问模式是private,类的默认继承方式也是private。( √ ) 7、构造函数可以被继承,且构造函数和析构函数都可以被说明为虚函数。(×) 8、私有继承中,基类中所有成员对派生类的对象都不是不可见的。( √ ) 9、在基类的成员函数都是虚函数的情况下,该基类也称虚基类。(×) 10、在一个被调用函数中,一个return语句只可返回一个值给调用函数,( √ ) 三、简答题 1、什么是面向对象的程序设计?它的四个基本特征是什么? 答:面向对象程序设计是一种以类为核心的软件开发方法。类、实例和消息是面向对象程序设计的基本概念。 四个基本特征:抽象性、封装性、继承性、多态性 构造函数和析构函数的作用是什么?什么时候需要自己定义构造函数和析构函数? 构造函数的作用:用于新建对象的初始化工作。 析构函数的作用:用于在撤销对象前,完成一些清理工作,比如:释放内存等。 每当创建对象时,需要添加初始化代码时,则需要定义自己的构造函数;而对象撤销时,需要自己添加清理工作的代码时,则需要定义自己的析构函数。 读程序,写结果 1、#includeiostream.h Int f(int x,int y,int z) {return(x+y+z);} Void main() {int a=2,b; intc=b; b=a++; c=f(a,b,c); cout“a=”aend1; cout“b=”bend1; cout“c=”cend1;}答:运行结果为a=3 b=7 c=7 2、 #includeiostream.h Class base{ Public: base() {cout“Constructing base class”end1;} -base() {cout“Donstructing base
显示全部
相似文档