1、国家二级 C+机试(操作题)模拟试卷 393及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果: (4, 5) 7, 8 (4, 8) 注意:错误的语句在 *error*的下面,修改该语句即可。 #include class cobj0 public: cobj 0(int i, int j) x=i; y=j; *error* virtual void m0Ve(int a; int b) x+=a; y+=b; void print() cout void fun(char*
2、str, char*S) void main() char str100, s100; cout using namespace std; class TestClass public: *1* cout“int”end1; return 10; *2* coutstrendl; ; int main() Testclass obj; *3* *4* return 0; 国家二级 C+机试(操作题)模拟试卷 393答案与解析 一、基本操作题 1 【正确答案】 (1)virtual void move(int a, int b) (2)CObj 1(int i, int j, int k, in
3、t 1): CObj 0(i, j) (3)CObj 0: print(); 【试题解析】 程序中定义了 COhj0和 CObj1两个类, CObj1公有派生于CObj0, CObj0有两个 public成员变量 X和 y, CObj1有 2个 private成员变量 m和 n, CObjO的 print函数打印 x和 y的值, CObj 1的 print函数打印 m和 n的值, display函数调用基类的 print函数打印 CObj 1的 x和 y的值。 二、简单应用题 2 【正确答案】 Int 1; for(i=0 ; stri!=0; i+) 循环 判断每一个字符 if(i 2=0)
4、 判断字符串 中下标为偶数位置 Si=stri; Si+1=stri; si+2= 0; 新串添加尾符 【试题解析】 (1)该程序功能是找出在字符串中下标为偶数位置上的字符,紧随其后重复出现一次,放在一个新串。它的解题思路,解题过程利用 if条件判断表达式选择符合条件的字符,然后将符合条件的字符放入指定的字符串。 (2)从已给部分源程序的 main主函数开始入手,核心函数 void fun(char*str,char*s)中的 str参数为输入的字符串,其中 s为新串。 三、综合应用题 3 【正确答案】 (1)添加语句: operator int() (2)添加语句: operator(char*str) (3)添加语句: int i=int(obj); (4)添加语句: obj-Helio Test“; 【试题解析】 本题的功能是通过重载运算符实现字符串输出。在 VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的 main主函数开始入手,可以看出程序通过调用类 TestClass的运算符重载函数实现各种输出操作。