还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
填空题每空分,共分
1141、观看以下程序class point{public:姓void show{cout^point”endl;}名;学void main号{point pl;密point*p;,封p=pl;,线_P
1.show〃通过对象pl访问show函数内不―p-show〃通过指针p访问show函数答题}
2、在C++类中可以包含—私有、―公有和—保护系三种具有不同访问控制权的成员名
3、定义类时,在类头中将使用关键字—class来表示类定义的开始一班
4、如果一个类中至少有一个纯虚函数,则该类称为抽象类o级
5、C++类的组成包括数据成员和一成员函数,友元—不是—是、不是该类的成员函数一
6、友员函数是用关键字fri end修饰的非成员函数
7、若有int i;int j=i;i=10;j=i+l;贝M U,j=_H O
8、new的功能是动态申请内存空间,delete的功能是释放由new申请的空间o
二、选择题每小题L5分,共30分------------------------!.!
1、下列特性中不是面向对象程序设计语言所特有的是o(A)数据封装(B)继承(C)多态性(D)模板
2、()是给变量取一个别名,它引入了变量的同意词(A)指针(B)引用(C)枚举(D)结构
3、类成员的访问权限中,()只能被本类的成员函数和其友元函数访问(A)share(B)public(C)private Dprotected
4、关于构造函数,下列说法不正确的是(o(A)构造函数名字和类名相同(B)构造函数在创建对象时自动执行(C)构造函数无任何函数返回类型(D)构造函数有且只有一个
5、派生类可以访问其基类的(o(B)保护成员(A)公有成员(D)公有和保护成员
6、下列关于运算符重载的描述中,错误的是()o(C)私有派生A运算符重载不可以改变操作数的个数运算符重载不可以改变运算符的功能B运算符重载不可以改变结合方向运算符重载不可以改变运算优先级C
7、C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解D问题方法上进行的最大改进是()(A)面向过程(B)面向对象(C)安全性(D)复用性
8、对于类中定义的成员,其隐含访问权限为()A.public B.protectedC.private D.static
9、下面有关重载函数的说法中正确的是()(A)重载函数必须具有不同的返回值类型;(B)重载函数形参个数必须不同;(C)重载函数必须有不同的形参列表(D)重载函数名可以不同;
10、有如下的对类“CSample”的说明,其中()是错误的class CSample{A.int a=23;B.CSample();public:C.CSample(int val);D.~CSample();
11、在int a=3,int*p=a;中,*p的值是()A.变量a的地址值B.无意义C.变量p的地址值D.
312、每个类构造函数A只能有一个B只可有公有的C可以有多个D只可有缺省的
13、在一个类中可以对一个操作符进行重载A1种B2种以下C3种以下D多种
14、在公有继承的情况下,基类非私有成员在派生类中的访问权限A受限制B保持不变C受保护D不受保护姓名
15、应在下列程序划线处填入的正确语句是学ttinclude iostream.h class Base{public:号void fun{coutz/Base::fun〃〈ENDL;};class Derived:public Base{void fun{〃显示调用基类的函数fun coutz/Derived::fun〃〈〈ENDL;密,}};封,A fun;B Base.fun;C Base::fun;D Base-fun;线
16、执行下面的程序将输出内不ttinclude iostream.h classBASE{答char c;public:题BASE charn:cn{}virtual BASE{cout〈c;};〜系class DERIVED:public BASE{char c;名public:一DERIVED charn:BASE n+1,c n{}DERIVED{cout«c;};班级int main一{DERIVED aX;return0;A XYB YXC XD Y
17、下面描述中,表达错误的是A公有继承时基类中的public成员在派生类中仍是public的B公有继承是基类中的private成员在派生类中仍是private的C公有继承时基类中的protected成员在派生类中仍是protected的D私有继承时基类中的public成员在派生类中是private的
18、定义析构函数时,应该注意A其名与类名完全相同B返回类型是void类型C无形参,也不可重载D函数体中必须有delete语句------------------------!.!
19、对于在类中定义的静态数据成员,下面正确的说法是A.该类的每个对象中都有一个静态数据成员B.对象创建时产生C.在类外进行初始化D.既可以在类外初始化,也可以在类内初始化
20、C++中声明常量的关键字是oA.const B.extern C.public D.enum
三、改错题每处2分,共6分
1、使用VC6打开考生文件夹下的工程projl,此工程包含一个源程序文件main,cpp,但该程序运行有问题,请改正main函数中的错误,使程序的输出结果为member=0member=5menber=10源程序文件main,cpp清单如下ftinclude iostream.hclass MyClass{public:MyClassint i{member=i;}void SetMemberintm{member=m;}int GetMemberconst{return menber;}void printcont{cout member=MEMBERENDL;}private:int member;;voed mainMyClass objl;〃更正__________________________姓名objl.print;学MyClass obj2⑶;号objl.member=5;〃更正________________________MyClass.SetMember10;〃更正objl.print;obj
2.print;密,封,
四、写出下列程序的执行结果每小题5分,共20分线内
1、不#includeiostream.h答题class Sample{int n;系public:名一Sampleint i{n=i;}班friend int addSample sl,Sample s2;级一};int addSample sl,Samples2return si.n+s
2.n;void mainSample si10,s220;coutaddsi,s2endl;执行结果是:------------------------!.!
2、#includeiostream.h int addint x,int yreturn x+y+1;double adddouble x,double y{return x+y-1;void main{inta=2,b=4;double c=26,d=
7.4;・coutadd a,b〃〈〈add c,d endl;执行结果是
3、#includeiostream.h classApublic:int n;;classB:virtual publicA{};class C:virtual publicA{};class D:public B,public Cint getn{return B::n;};void mainD d;d.B::n=10;d.C::n-20;coutd.B:〃d.C::nendl;}执行结果是
4、ftinclude iostream.h一密班,class myclass级封inta,b;二,static ints;线内public:不姓myclass intx,int y答名题{a=x;b=y;s++;}void print{coutsendl;}};int myclass::s=0;void main{myclass ml1,2,m24,5,m36,7;ml.print;m2,print;m3,print;}执行结果是
五、编程题每题10分、共30分
1、测试一个名为rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,能计算矩形的面积10分
2、定义一boat与car两个类,二者都有weight属性,定义二者的一个友元函数totalweight(),计算二者的重量和(10分)
3、设td^一个汽车类vehicle,包含的数据成员有车轮个数wheels和车重weight小车类car是它的派生类,其中包含载人数passengejload每个类都有相关数据的输出方法;在主程序中定义一个car类对象,对其车轮个数、车重、载人数进行设置并显示(10分)。
个人认证
优秀文档
获得点赞 0