使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)对文件以追加的方式打开文件。请在注释//********1********后添加适当的语句。 (2)定义m、n为类TestCla

admin2019-06-05  49

问题 使用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>
using namespace std;
void WriteFile(int x)
{
ofstream out1;
//********1********
out1.open("modi3.txt",);
out1<<X<<’ ’;
out1.close();
}
void ClearFile()
{
ofstream out1;
out1.open("modi3.txt");
out1.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=30;
//********4********
a.*p=45;
a.disp();
}

选项

答案(1)将“out1.open("modi3.txt",);”补充完整为:out1.open("modi3.txt",ios_base::app); (2)添加语句:int m,n; (3)添加语句:int TestClass::*p=&(TestClass::m); (4)添加语句:p=&(TestClass::n);

解析 (1)题目1要求“对文件以追加的方式打开文件”。文件输出输入方式的设置值,以ios::app方式是以输出方式打开文件,写入的数据添加在文件末尾,即第1个标识下语句补全为“out1.open("modi3.txt",ios_base::app);”。
(2)题目2要求“定义m、n为类TestClass的公有int型数据成员”。只需在程序中的TestClass类中的public区域添加m、n的定义即可。即在第2个标识下添加“int m,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);”。
转载请注明原文地址:https://kaotiyun.com/show/p18p777K
0

最新回复(0)