使用VC6打开考生文件夹下的工程test14_3,此工程包含一个test14_3.cpp,其中定义了类File,但类的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)完成构造函数的定义,使数据成员filename,content指向为空。请在注释“//**1**”之后添加适当的语句;
(2)完成函数set_contents的定义,该函数为content申请新的空间来存储new_content的内容,成功返回true,失败返回false。请在注释“//**2**”之后添加适当的语句;
(3)完成成员函数copy(File &source,File &target)的定义,该函数实现将source的内容拷贝至target的功能,注意必须使用已经定义的成员函数来实现。请在注释“//**3**”之后添加适当的语句:
(4)完成析构函数的定义,要求释放content指向的空间。请在注释“//**4**”之后添加适当的语句。
输出结果如下:
file2:file1 contents
file2:file2 contents
注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。
源程序文件testl4_3.cpp清单如下:
#include<iostream.h>
#include<string.h>
class File
private:
char file_name[64];
char*contents;
public:
File(char*filename)
// ** 1 **
;
File::~File()
// ** 4 **
void printfile()cout<<file_name<<":"<<contents<<endl;)
friend bool copy(File & source,File & target);
bool set_contents(char * new_contents);
;
bool File::set_contents(char*new_contents)
// ** 2 **
if(contents==NULL)
return false;
strcpy(contents,new_contents);
return true;
bool copy(File &source,File &target)
// ** 3 **
void main)
File f1("filel"),f2("file2");
f1.set_contents("filel contents");
copy(f1,f2);
f2.printfile();
f2.set_contents("file2 contents,);
f2.printfile();