1、国家二级 C+机试(操作题)模拟试卷 350及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modi1 cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为: Constructor,i=0, Destructor 注意:错误的语句在 *error*的下面,修改该语句即可。 #include class cobj int i; public: cobj(); void display(); cobj(); ; *error* cobj: cobj() cout void show() void main() cout #include #defi
2、ne PI 3 1415926 clas S CMyPoint public: int x, y; CMyPoint(int tx, int ty): X(tx), Y(ty)f ; class CMyShape public: CMyShape()coutGetArea() GetGirth()GetArea() GetGirth()0; i一一 ) for(int j=1; j=i; j+) coutj*i=i*j; coutend1; 【试题解析】 本题属于输出图形题,输出图形呈规律变化,横向看乘号前的数字逐渐增大,竖向看乘号后的数字逐渐减小,可以用循环来实现,一重循环只能控制一个方向,
3、因此可用二重循环来输出该图形。 三、综 合应用题 3 【正确答案】 (1)添加语句: virtual double GetArea()=0; (2)添加语句: virtual double GetGirth()=0; (3)添加语句: myshape=mycircle; (4)添加语句: myshape=myRectanqle; 【试题解析】 类 CMyPoint含有成员变量 x和 y,抽象基类 CMyShape含有两个虚函数 GetArea0和 GetGirth0,分别用来求图形的面积和周长。类CMyRectangle和类 CMyCircle派生于类 CMyShape,并都实现了抽象父类的纯虚函数,通过这两个函数可分别求得矩形的面积和周长以及圆的面积和周长。