离线考核《C++程序设计(高起专)》满分100分一、判断题(请给正确的打“√”,错误的打“╳”并说明原因。每题4分,共20分。)1.静态的成员函数没有隐含的this指针,所以它们只能访问静态的数据成员。()2.通过类对象可以访问类中所有的成员。()3.构造函数是可以被派生类继承的。()4.构造函数和析构函数都可以是虚函数。()5.只有类中全部函数都为纯虚函数时,该类才被称为抽象类。()二、简答题(每小题5分,共20分。)1.什么是封装性?请举例说明。2.什么是函数重载和运算符重载?为什么要使用重载?3.拷贝构造函数在哪几种情况下被调用?4.什么是类?什么是对象?对象与类的关系是什么?三、程序分析题(每小题10分,共40分。)1.指出下面程序中的1处错误,并说明原因。#includeiostream.hclassPoint{intX,Y;public:Point(){X=0;Y=0;}Point(intx=0,inty=0){X=x;Y=y;}voiddisplay(){coutX,Yendl;}};voidmain(){Pointp;p.display();}1234567答:2.指出下面程序中的1处错误,并说明原因。#includeiostream.hclassCTest{public:CTest(){x=20;}private:intx;friendvoidfriend_f(CTestfri);};voidfriend_f(CTestfri){fri.x=55;}voidmain(){CTestc1,c2;c1.friend_f(c2);}答:3.写出下面程序的运行结果。#includeiostream.hclassTest{private:intnum;public:Test(intn=0){num=n;num++;}~Test(){cout”Destructorisactive,number=”numendl;}};voidmain(){Testx[2];cout”Exitingmain”endl;}答:4.写出下面程序的运行结果。#includeiostream.hclassTest{private:staticintval;inta;public:staticintfunc();staticvoidsfunc(Test&r);};intTest::val=20;intTest::func(){val--;returnval;}voidTest::sfunc(Test&r){r.a=25;coutResult3=r.a;}voidmain(){coutResultl=Test::func()endl;Testa;coutResult2=a.func()endl;Test::sfunc(a);}答:四、完成程序题(每小题10分,共20分。)1.请在横线处填上适当的字句,以使程序完整。#includeiostream.h#include″math.h″classPoint{private:doubleX,Y;①__________Line;public:Point(doublex=0,doubley=0){X=x;Y=y;}Point(Point&p){X=p.X;Y=p.Y;}};classLine{private:Pointp1,p2;public:Line(Point&xp1,Point&xp2):②__________{}doubleGetLength();};doubleLine::GetLength(){doubledx=p2.X-p1.X;doubledy=p2.Y-p1.Y;returnsqrt(dx*dx+dy*dy);}voidmain(){Pointp1,p2(3,4);LineL1(p1,p2);coutL1.GetLength()endl;}2.设计一个立方体类Box,使它能计算并输出立方体的体积和表面积。要求:Box类包含三个私有数据成员:a(立方体边长)、volume(体积)和area(表面积);Box类包含有构造函数及seta()(设置立方体边长)、getvolume()(计算体积)、getarea()(计算表面积)和disp()(输出体积和表面积)。