根据main和测试需求定义文件类
类定义说明:
满足main和测试需求。
裁判测试程序样例:
/* 请在这里填写答案 */
int main()
{
string name;
double size;
cin>>name>>size;
File f1(name,size),f2(f1);
return 0;
}
int main()
{
string name;
double size;
cin>>name>>size;
File f1(name,size),f2(f1);
return 0;
}
输入样例:
c++学习指南 12.5
输出样例:
创建文件:c++学习指南,大小:12.5M
拷贝生成文件:c++学习指南(1),大小:12.5M
析构文件:c++学习指南(1),大小:12.5M
析构文件:c++学习指南,大小:12.5M
思路:
#include<iostream>
#include<string>
using namespace std;
class File {
public:
File(string _name = " ", double _size = 0.0) //File类的构造函数,可以省略参数。
: name(_name), size(_size) { // 使用初始化列表 ,传递给构造函数的参数来初始化name和size成员
cout << "创建文件:" << name << ",大小:" << size << "M" << endl;
} //在构造函数体中,这行代码输出了创建文件的消息。
File(const File &f) //File类的拷贝构造函数,它接受一个对File对象的常量引用作为参数。
: name(f.name + "(1)"), size(f.size) {
cout << "拷贝生成文件:" << name << ",大小:"<< size << "M" << endl;
} // 初始化列表使用传入的File对象的name和size来初始化新对象的成员。
~File() {
cout << "析构文件:" << name << ",大小:" << size << "M" << endl;
} //File类的析构函数,它在File对象生命周期结束时自动调用
private:
string name;
double size;
};