编写程序,将一个student对...
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编写程序,将⼀个student对...
定义⼀个teacher(教师)类和⼀个student(学⽣)类,⼆者有⼀份数据成员是相同的,例如num,name,sex。
编写程序,将⼀个student对象(学⽣)转换为teacher(教师)类,只将以上3个相同的数据成员移植过去。
可以设想为:⼀个学⽣⼤学毕业了,留校担任教师,他原有的部分数据对现在的教师⾝份来说仍然是有⽤的,应当保留并成为其教师的数据的⼀部分。
#include "stdafx.h"
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
class student
{
public:
student(int no,string nam,char s,float sc){num=no;name=nam;sex=s;score=sc;}
int get_num();
string get_name();
char get_sex();
void outputs();
private:
int num;
string name;
char sex;
float score;
};
class teacher
{
public:
teacher(){}
teacher(student&);
teacher(int tno,string tnam,char ts,float p):tnum(tno),tname(tnam),tsex(ts),pay(p){}
void display();
private:
int tnum;
string tname;
char tsex;
float pay;
};
void teacher::display()
{
cout<<setw(8)<<"type"<<setw(6)<<"num"<<setw(6)<<"name"<<setw(6)<<"sex"<<setw(6)<<"pay" <<endl;
cout<<setw(8)<<"teacher"<<setw(6)<<tnum<<setw(6)<<tname<<setw(6)<<tsex<<setw(6)
<<pay<<endl;
}
teacher::teacher(student &stud)
{
tnum=stud.get_num();
tname=stud.get_name();
tsex=stud.get_sex();
pay=2500;
}
int student::get_num()
{
return num;
}
string student::get_name()
{
return name;
}
char student::get_sex()
{
return sex;
}
void student::outputs()
{
cout<<setw(8)<<"type"<<setw(6)<<"num"<<setw(6)<<"name"<<setw(6)<<"sex"<<setw(6) <<"score"<<endl;
cout<<setw(8)<<"student"<<setw(6)<<num<<setw(6)<<name<<setw(6)<<sex<<setw(6) <<score<<endl;
}
int _tmain(int argc, _tchar* argv[])
{
student stud1(1001,"zhang",'m',98);
teacher tech1(1003,"wang",'f',2000),tech2;
tech2=teacher(stud1);
stud1.outputs();
tech1.display();
tech2.display();
return 0;
}。