问答题 使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)对文件以追加的方式打开文件。请在注释∥********1********后添加适当的语句。(2)定义m、n为类TestClass的公有int型数据成员,请在注释∥********2********后添加适当的语句。(3)定义P为类TestClass的数据成员指针,并指向类TestClass数据成员m,请在注释∥********3********后添加适当的语句。(4)定义P指向类TestClass数据成员n,请在注释//料料料料4料料料料后添加适当的语句。注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。#include<iostream.h>#include<fstream>#include<iomanip>#include<cmath>us ing namespace std;void WriteFile(int X){ofstream outl ;∥********1********outl.open(”modi3.txt”, );outl<<X<<'.'outl.close();}void ClearFile(){ofstream outl ;outl.open(”modi3.txt”);outl.Close();}class TestClass{public:void disp(){cout(<¨m=¨<<m<<endl;WriteFile(m);cout<<”n=”<<n<<endl;WriteFile(n);}∥********2********};void main(){∥********3********ClearFile();TestClass a;a.*p=3 0;∥********4********a.*p=4 5 ;a.disp();}
【正确答案】正确答案:(1)将“outl.open("modi3.txt",);”补充完整为:outl.open(”modi3.txt”,ios—base::app); (2)添加语句:int m,n; (3) 添加语句: int TestClass::*p=&(TestClasS::m); (4)添加语句:P=&(TestClasS::n);
【答案解析】解析:在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的maha主函数开始入手,可以看出程序通过调用类TestClass和函数ClearFile0实现各种输出操作。 解题思路 (1)题目1要求“对文件以追加的方式打开文件”。文件输出输入方式的设置值,以ios::app方式是以输出方式打开文件,写入的数据添加在文件末尾,即第1个标识下语句补全为“outl.open(”modi3.txt”,ios_base::app);”。 (2)题目2要求“定义m、n为类TestClass的公有int型数据成员”。只需在程序中的TestClass类中的public区域添加m、n的定义即可。即在第2个标识下添加“intm,n;”。 (3)题目3要求“定义P为类TestClass的数据成员指针,并指向类TestClass数据成员m”。程序中类TestClass数据成员m为:TestClass::m,定义P为类TestClass的数据成员指针语句为:TestClass::*p,将其指向前面的数据成员m,即为“int TestClass::p=&(TestClass::m);”。 (4)题目4要求“定义P指向类TestClass数据成员n”。类TestClass数据成员n语句为TestClass::n,用P指向类TestClass数据成员n,添加的语句即“p=&(TestClass::n);”。