首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成构造函数的定义,使得数据成员变量filename和contex为空,内容长度FileLength为0。请在注释
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成构造函数的定义,使得数据成员变量filename和contex为空,内容长度FileLength为0。请在注释
admin
2017-09-20
32
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)完成构造函数的定义,使得数据成员变量filename和contex为空,内容长度FileLength为0。请在注释∥********1********后添加适当的语句。
(2)完成析构函数,对contex内存的释放。请在注释∥********2********后添加适当的语句。
(3)完成WriteFile()函数,用来对contex内容进行设置填充内容,如果以前有内容,则删除以前的内容,重新填写。请在注释∥********3********后添加适当的语句。
(4)完成CopyFile()函数,完成将参数对象的contex的内容拷贝到当前的文件内容中,请在注释∥********4********后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
class MyFileClasS
{
private:
char filename[64];
char*contex;
int FileLength;
public:
MyFileClass()
{
∥********1********
contex=NULL;
FileLength=0;
}
一MyFileClasS()
{
if(FileLength)
∥********2********
}
void OpenFile(char*str,int
len)
{
for(int i=0;i
{
filename
=str
;
}
filename[len]=0;
FileLength=0;
if(contex)
{
delete[]contex;
Contex=NULL;
}
}
void WriteFlie(char*str,int len)
{
if(contex!=NULL)
∥********3********
contex=new char[len+1];
for(int i=0;i
contex
:str
;
contex[fen]=0;
FileLength=len;
}
void CopyFile(MyFileClasS&file)
{
∥********4********
}
void display()
{
cout<
}
};
int msin()
{
MyFileClasS filel,file2;
filei.OpenFile(”txtl”,4);
file2.OpenFile(”txt2”,4);
filel.WriteFlie(”hello!”,6);
file2.CopyFile(filel);
filel.display();
file2.display();
return 0;
}
选项
答案
(1)添加语句:filename[0] =0;或filename[0]=NULL; (2)添加语句:delete[]contex; (3)添加语句:delete contex; (4)添加语句:WriteFlie(file.contex,file.FileLength);
解析
程序当中定义了类MyFileClass,包含3个成员变量,分别为filename、contex和FileLength,分别表示文件名、文件内容和文件长度,类MyFileClass有多个成员函数:构造函数、析构函数、OpenFile(char*str,int len)、WriteFlie(char*str,intlen)、CopyFile(MyFileClass&file)和display(),OpenFile()用来给filename赋值,并清空contex内容;WriteFile()函数用来对contex内容进行设置填充内容;CopyFile(MyFileClass&file)函数完成将参数file对象的contex内容拷贝到当前的文件内容中;display()将contex内容打印到屏幕上。
转载请注明原文地址:https://kaotiyun.com/show/UTAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有以下类的定义: class Ex { int x; public: void setx(int t=0); }; 若在类外定义成员函数setx(),以下定义形式中正确的是
语句cout<<(a=2)&&(b=-2);的输出结果是
在MyClass类的定义中,对赋值运算符;进行重载。请将横线处缺失的部分补充完整。______MyClass::operator=(constMyClass&rhs){if(this==&rhs)return*t
下列程序的输出结果为2,请将程序补充完整。#include<iostream>usingnamespacestd;classBase{public:______voidfun(){cout<<
下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈项元素在stack[top-1]中,在下面横线处填上适当语句,完成栈类模板的定义。template<classT>classTs
阅读下列程序:#include<iostream.h>voidfun(intn){intx(5);staticinty(10);if(n>0){++x;++y;cou
若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的方法是______。
下列关于成员函数特征的描述中,错误的是()。
随机试题
分配定律不适用于溶质在水相和有机相中有多种存在形式,或在萃取过程中发生离解、缔合等反应的情况。()
第一斜位又称为
消化液的作用不包括
A.小肠B.骨骼C.肾脏D.肝脏E.皮肤合成1,25-(OH)2-D3的器官是
左心衰竭发生呼吸困难的主要机制是
在下列有关可转让信用证的说明中,错误的说法是()。
网络犯罪指行为人运用计算机技术,借助网络对系统或信息进行攻击破坏,故意实施触犯有关法律规范的行为。下列不属于网络犯罪的是()。
Mr.Jones,Iamreallypleased______you.AndIhopewewillbeabletoseeeachotherinnotlongtime.
A—costpriceJ—guaranteedpriceB—factorypriceK—cashpriceC—netpriceL—marketpriceD—pricefreeonboardM—preferentialpri
WhenIsawJane,Istoppedandsmiled,butshe______meandwalkedon.
最新回复
(
0
)