使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。 (1)将文件以追加的方式打开。请在注释1后添加适当的语句。 (2)定义m、n为类TC的公有int型数据成员。请在注释2后

admin2013-10-15  11

问题 使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。
    (1)将文件以追加的方式打开。请在注释1后添加适当的语句。
    (2)定义m、n为类TC的公有int型数据成员。请在注释2后添加适当的语句。
    (3)定义p为类TC的数据成员指针,并指向类TC的数据成员m。请在注释3后添加适当的语句。
    (4)定义p指向类TC的数据成员n。请在注释4后添加适当的语句。
    注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
    试题程序:
#include
#include
#include
#include
using namespace std;
void WriteFile(int x)
{
ofstream out1;
//* * * * * * * * 1 * * * * * * * *
out1.open("3.txt",);
out1<out1.close();
}
void ClearFile()
{
ofstream out1;
out1.open("3.txt");
out1.close();
}
class TC
{
public:
void disp()
{
  cout<<"m="<  WriteFile(m);
  cout<<"n="<  WriteFile(n):
}
//* * * * * * * * 2 * * * * * * * *
};
void main()
{
//* * * * * * * * 3 * * * * * * * *
  ClearFile();
  TC a:
  a.*p=30;
//* * * * * * * * 4 * * * * * * * *
  a.*p=45;
  a.disp();
}

选项

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

解析 本题第1处要求“对文件以追加的方式打开”。文件输入输出方式的设置值,ios::app是以输出方式打开文件,写入的数据添加在文件末尾,即第1处的语句补全为“out1.open("3.txt",ios_base::app);”。
    第2处要求“定义m、n为类TC的公有int型数据成员”。只需在程序中的TC类中的public区域添加m、n的定义即可。即在第2处添加“int m,n;”。
    第3处要求“定义p为类TC的数据成员指针,并指向类TC数据成员m”。程序中类TC数据成员m为“TC::m”定义P为类TC的数据成员指针语句为“TC::*p”,将其指向前面的数据成员rn,即为“int TC::*p=&(TC::m);”。
    第4处要求“定义p指向类TC数据成员n”。定义类TC数据成员n的语句为“TC::n”,用p指向类TC数据成员n,添加的语句即“p=&(TC::n):”。
转载请注明原文地址:https://kaotiyun.com/show/1bBD777K
0

最新回复(0)