题目描述
已知主函数和Tutor类如下,请根据输入输出完成STU类定义:
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
//填空实现类STU的定义
//其他代码如下
int IDs; //全局变量,用于输出结果提示
class Tutor {
private:
STU stu;
public:
Tutor(STU & s): stu(s)
{ cout<<"Construct tutor "<<IDs<<endl; }
~Tutor()
{ cout<<"Destruct tutor "<<IDs<<endl; }
};
void fuc(Tutor x)
{ cout<<"In function fuc()"<<endl; }
int main()
{ cin>>IDs;
STU s1("Tom"); //输入学生姓名Tom
Tutor t1(s1);
IDs++;
cout<<"Calling fuc()"<<endl;
fuc(t1);
return 0;
}
输入
输入一个参数,作为全局变量IDs的初始值,用于输出结果提示,看样例
输出
具体看样例
输入样例1
100
输出样例1
Construct student Tom
Construct student Tom_copy
Construct tutor 100
Calling fuc()
Construct student Tom_copy_copy
In function fuc()
Destruct tutor 101
Destruct student Tom_copy_copy
Destruct tutor 101
Destruct student Tom_copy
Destruct student Tom
AC代码
class STU
{
private:
string name;
public:
STU(string name):name(name){cout<<"Construct student "<<name<<endl;}
STU(const STU & s)
{
name=s.name;
name.insert(name.size(),"_copy");
cout<<"Construct student "<<name<<endl;
}
~STU()
{
cout<<"Destruct student "<<name<<endl;
}
};