解释C++语句的意思和功能
student&student::operator=(student&T)//重载={strcpy(name,T.name);strcpy(sex,T.sex);numb...
student & student::operator=(student & T) //重载=
{
strcpy(name,T.name);
strcpy(sex,T.sex);
number=T.number;
for(int i=0;i<3;i++)time[i]=T.time[i];
total=T.total;
average=T.average;
return ( * this );
}
ostream & operator << (ostream & scout, student &s2) //重载<<
{
cout<<setw(6)<<s2.number<<setw(10)<<s2.name<<setw(8)<<s2.sex<<setw(8)<<s2.time[0]
<<setw(8)<<s2.time[1]<<setw(10)<<s2.time[2]<<setw(10)<<s2.total<<setw(8)<<s2.average<<endl;
return scout;
}
istream & operator >> (istream & scin,student &s1) //重载>>
{
cout<< " \t学号:";
scin>>s1.number;
cout<< " \t姓名:";
scin>>s1.name;
cout<< " \t性别 :";
scin>>s1.sex;
cout<< " \t工作日时间:";
scin>>s1.time[0];
cout<< " \t周六时间:";
scin>>s1.time[1];
cout<< " \t周天时间:";
scin>>s1.time[2];
s1.total=s1.time[0]+s1.time[1]+s1.time[2];
s1.average=s1.total/3;
return scin;
}
student::student() //构造函数
{
strcpy(name," ");
strcpy(sex," ");
number=0;
for(int i=0;i<3;i++)time[i]=0;
total=0;
average=0;
}
void menu() //菜单函数
{
system("cls");
cout<<"\n\n\n&&&&&&&&&&&&&&&&&&&&&&&&&& 欢迎进入社团学生工作管理系统 &&&&&&&&&&&&&&&&&&&&&&&&&&&"<<endl;
cout<<"\n\n\n\t\t★ 〖1〗 添加 ★"<<endl;
cout<<"\t\t★ 〖2〗 输出 ★"<<endl;
cout<<"\t\t★ 〖3〗 查找 ★"<<endl;
cout<<"\t\t★ 〖4〗 修改 ★"<<endl;
cout<<"\t\t★ 〖5〗 删除 ★"<<endl;
cout<<"\t\t★ 〖6〗 排序 ★"<<endl;
cout<<"\t\t★ 〖7〗 缺席情况 ★"<<endl;
cout<<"\t\t★ 〖8〗 保存★"<<endl;
cout<<"\t\t★ 〖9〗 读出 ★"<<endl;
cout<<"\t\t★ 〖0〗 退出系统 ★"<<endl;
cout<<"\n\n\t\t请选择(0~~9):";
} 展开
{
strcpy(name,T.name);
strcpy(sex,T.sex);
number=T.number;
for(int i=0;i<3;i++)time[i]=T.time[i];
total=T.total;
average=T.average;
return ( * this );
}
ostream & operator << (ostream & scout, student &s2) //重载<<
{
cout<<setw(6)<<s2.number<<setw(10)<<s2.name<<setw(8)<<s2.sex<<setw(8)<<s2.time[0]
<<setw(8)<<s2.time[1]<<setw(10)<<s2.time[2]<<setw(10)<<s2.total<<setw(8)<<s2.average<<endl;
return scout;
}
istream & operator >> (istream & scin,student &s1) //重载>>
{
cout<< " \t学号:";
scin>>s1.number;
cout<< " \t姓名:";
scin>>s1.name;
cout<< " \t性别 :";
scin>>s1.sex;
cout<< " \t工作日时间:";
scin>>s1.time[0];
cout<< " \t周六时间:";
scin>>s1.time[1];
cout<< " \t周天时间:";
scin>>s1.time[2];
s1.total=s1.time[0]+s1.time[1]+s1.time[2];
s1.average=s1.total/3;
return scin;
}
student::student() //构造函数
{
strcpy(name," ");
strcpy(sex," ");
number=0;
for(int i=0;i<3;i++)time[i]=0;
total=0;
average=0;
}
void menu() //菜单函数
{
system("cls");
cout<<"\n\n\n&&&&&&&&&&&&&&&&&&&&&&&&&& 欢迎进入社团学生工作管理系统 &&&&&&&&&&&&&&&&&&&&&&&&&&&"<<endl;
cout<<"\n\n\n\t\t★ 〖1〗 添加 ★"<<endl;
cout<<"\t\t★ 〖2〗 输出 ★"<<endl;
cout<<"\t\t★ 〖3〗 查找 ★"<<endl;
cout<<"\t\t★ 〖4〗 修改 ★"<<endl;
cout<<"\t\t★ 〖5〗 删除 ★"<<endl;
cout<<"\t\t★ 〖6〗 排序 ★"<<endl;
cout<<"\t\t★ 〖7〗 缺席情况 ★"<<endl;
cout<<"\t\t★ 〖8〗 保存★"<<endl;
cout<<"\t\t★ 〖9〗 读出 ★"<<endl;
cout<<"\t\t★ 〖0〗 退出系统 ★"<<endl;
cout<<"\n\n\t\t请选择(0~~9):";
} 展开
2个回答
展开全部
student & student::operator=(student & T) //重载= 这样的话就可以用stu[i]=temp了
{
strcpy(name,T.name); //复制姓名
strcpy(sex,T.sex); //复制姓别
number=T.number; //复制学号
for(int i=0;i<3;i++)time[i]=T.time[i]; //复制工作时间
total=T.total; //复制总时间
average=T.average; //复制平均时间
return ( * this ); //返回对象
}
ostream & operator << (ostream & scout, student &s2) //重载<< 这样就可以用cout<<stu[i]了
{ //sett(6)的意思为下一个输出预留6个位置,多则空出来,少则补齐
cout<<setw(6)<<s2.number<<setw(10)<<s2.name<<setw(8)<<s2.sex<<setw(8)<<s2.time[0]
<<setw(8)<<s2.time[1]<<setw(10)<<s2.time[2]<<setw(10)<<s2.total<<setw(8)<<s2.average<<endl;
return scout;
}
istream & operator >> (istream & scin,student &s1) //重载>> 这样就可以用cin>>stu[i]了
{
cout<< " \t学号:"; //输出学号
scin>>s1.number;
cout<< " \t姓名:";
scin>>s1.name;
cout<< " \t性别 :";
scin>>s1.sex;
cout<< " \t工作日时间:";
scin>>s1.time[0];
cout<< " \t周六时间:";
scin>>s1.time[1];
cout<< " \t周天时间:";
scin>>s1.time[2];
s1.total=s1.time[0]+s1.time[1]+s1.time[2];
s1.average=s1.total/3;
return scin;
}
student::student() //构造函数
{
strcpy(name," "); //构造的时候把所有置空,其实我觉得没有必要,因为你这样构造出来的对象是垃圾对象没有任何意义.
strcpy(sex," ");
number=0;
for(int i=0;i<3;i++)time[i]=0;
total=0;
average=0;
}
void menu() //菜单函数
{
system("cls"); //清屏操作
cout<<"\n\n\n&&&&&&&&&&&&&&&&&&&&&&&&&& 欢迎进入社团学生工作管理系统 &&&&&&&&&&&&&&&&&&&&&&&&&&&"<<endl;
cout<<"\n\n\n\t\t★ 〖1〗 添加 ★"<<endl; //\n是换行 \t是制表符
cout<<"\t\t★ 〖2〗 输出 ★"<<endl;
cout<<"\t\t★ 〖3〗 查找 ★"<<endl;
cout<<"\t\t★ 〖4〗 修改 ★"<<endl;
cout<<"\t\t★ 〖5〗 删除 ★"<<endl;
cout<<"\t\t★ 〖6〗 排序 ★"<<endl;
cout<<"\t\t★ 〖7〗 缺席情况 ★"<<endl;
cout<<"\t\t★ 〖8〗 保存★"<<endl;
cout<<"\t\t★ 〖9〗 读出 ★"<<endl;
cout<<"\t\t★ 〖0〗 退出系统 ★"<<endl;
cout<<"\n\n\t\t请选择(0~~9):";
}
//-----------------------------------------------------------------------------------------------------
评价:从某种程度上来讲这里构造函数没有任何意义,这样的构造函数正是默认构造函数,还你写干嘛.
{
strcpy(name,T.name); //复制姓名
strcpy(sex,T.sex); //复制姓别
number=T.number; //复制学号
for(int i=0;i<3;i++)time[i]=T.time[i]; //复制工作时间
total=T.total; //复制总时间
average=T.average; //复制平均时间
return ( * this ); //返回对象
}
ostream & operator << (ostream & scout, student &s2) //重载<< 这样就可以用cout<<stu[i]了
{ //sett(6)的意思为下一个输出预留6个位置,多则空出来,少则补齐
cout<<setw(6)<<s2.number<<setw(10)<<s2.name<<setw(8)<<s2.sex<<setw(8)<<s2.time[0]
<<setw(8)<<s2.time[1]<<setw(10)<<s2.time[2]<<setw(10)<<s2.total<<setw(8)<<s2.average<<endl;
return scout;
}
istream & operator >> (istream & scin,student &s1) //重载>> 这样就可以用cin>>stu[i]了
{
cout<< " \t学号:"; //输出学号
scin>>s1.number;
cout<< " \t姓名:";
scin>>s1.name;
cout<< " \t性别 :";
scin>>s1.sex;
cout<< " \t工作日时间:";
scin>>s1.time[0];
cout<< " \t周六时间:";
scin>>s1.time[1];
cout<< " \t周天时间:";
scin>>s1.time[2];
s1.total=s1.time[0]+s1.time[1]+s1.time[2];
s1.average=s1.total/3;
return scin;
}
student::student() //构造函数
{
strcpy(name," "); //构造的时候把所有置空,其实我觉得没有必要,因为你这样构造出来的对象是垃圾对象没有任何意义.
strcpy(sex," ");
number=0;
for(int i=0;i<3;i++)time[i]=0;
total=0;
average=0;
}
void menu() //菜单函数
{
system("cls"); //清屏操作
cout<<"\n\n\n&&&&&&&&&&&&&&&&&&&&&&&&&& 欢迎进入社团学生工作管理系统 &&&&&&&&&&&&&&&&&&&&&&&&&&&"<<endl;
cout<<"\n\n\n\t\t★ 〖1〗 添加 ★"<<endl; //\n是换行 \t是制表符
cout<<"\t\t★ 〖2〗 输出 ★"<<endl;
cout<<"\t\t★ 〖3〗 查找 ★"<<endl;
cout<<"\t\t★ 〖4〗 修改 ★"<<endl;
cout<<"\t\t★ 〖5〗 删除 ★"<<endl;
cout<<"\t\t★ 〖6〗 排序 ★"<<endl;
cout<<"\t\t★ 〖7〗 缺席情况 ★"<<endl;
cout<<"\t\t★ 〖8〗 保存★"<<endl;
cout<<"\t\t★ 〖9〗 读出 ★"<<endl;
cout<<"\t\t★ 〖0〗 退出系统 ★"<<endl;
cout<<"\n\n\t\t请选择(0~~9):";
}
//-----------------------------------------------------------------------------------------------------
评价:从某种程度上来讲这里构造函数没有任何意义,这样的构造函数正是默认构造函数,还你写干嘛.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询