C++期末考试模拟题出题时间:2013.11.26时间:90分钟满分:100一、判断(TorF)10*2=201、友元函数用于允许一个函数访问不相关的类的私有部分()。2、构造函数可以被继承()。3、动态绑定的多态性是通过虚函数实现的()。4、重载函数必须有不同的参数列表()。5、在C++中,传引用调用等同于传地址调用()。6、可以用delete释放不是用new运算符分配的内存()。7、在类Time()中的析构函数可以声明为:void~Time(int)()。8、类成员的默认访问模式是private()。9、Const对象必须初始化()。10、在C++中只能重载已有的运算符()。友情答案:TFTTFFTFTT二、选择(AorBorCorD)8*3=241任何一个类中析构函数的个数为()A1,B2,C3,D42下列关于this指针的说法,哪个是正确的:(A)this指针一定指向常量型数据(B)this指向的数据不可更改(C)静态成员函数中也可以访问this指针D)this指针本身可直接作为成员函数的返回值。3在类定义中,为说明成员的访问权限,private,protected,public可以出现次数为:(A)次数没有具体限定。(B)每种至多一次。(C)public至少一次。(D)每种至少一次4下面关于类的成员函数描述不正确的是:(A)静态成员函数内可以直接访问类的非静态成员数据。(B)静态成员函数内可以直接访问类的静态成员数据。(C)非静态成员函数可以直接访问类的非静态成员数据。(D)非静态成员函数可以直接访问类的静态成员数据(全局成员)。5obj是类A的一个对象,执行语句constA&aA=obj;则下列说法正确的是:(A)类A的拷贝构造函数会被调用.(B)类A的赋值函数会被调用..(C)&aA的值就是&obj(D)语句obj.f();等价于语句aA.f();6已知在一个类体中包含如下函数原型:Volumeoperator-(Volume)const;,下列关于这个函数的叙述中,错误的是().(A)这是运算符-的重载运算符函数.(B)这个函数所重载的运算符是一个一元运算符.(C)这是一个成员函数.(D)这个函数不改变类的任何数据成员的值.7关键字()说明对象或变量初始化后不会被修改。(A)Static(B)Public(C)Const(D)Inline8设置虚基类的目的是:()(A)简化程序(B)消除二义性(C)提高运行效率(D)减少目标代码友情答案:ADAACBCB三、改错题7*5=35#includeiostream.hClassx1{intx;Public:Xi(intxx){x=xx;}Voidoutput()=0;};Classy1:privatex1{inty;Public:y1(intxx=0,intyy=0):x1(xx){y=yy;}Virtualvoidoutput(){cout”x=”x”y=”endl;}};Classz1:protectedx1{Intz;Public:Z1(intxx=0,intzz=0):x1(xx){z=zz;}Voidoutput(){Cout”x=”x”z=”zendl;}};Voidmain(){X1a(2);Y1b(3,4);z1c(5,6);X1*p[3]={&a,&b,&c};for(inti=0;i3;i++){p[i].output();}};友情答案:习题解析p207四、程序1*10=101*11=111、编写一个程序,设计一个点类point,求亮点之间的距离(10)2、设计一个money类,包含元、角、分等数据成员,另外重载运算符”+“,实现两个money类的求和。(11)友情答案:1、课本习题2、题解p36第1.