/*
1306: C++2第10章运算符重载上机题5
时间限制:1.000s 内存限制:128MB
题目描述
定义一个复数类Complex:
(1)数据:实部(real)、虚部(imag)
(2)操作:构造函数、set、print、前自增和后自增运算符重载(++)
备注:关于自增运算规则,定义为复数的实部和虚部同时自增
输入格式
复数类的实部和虚部
输出格式
复数类前自增和后自增后的结果
样例输入
1 2
样例输出
c1=1+2i
++c1=2+3i
c1++=3+4i
*/
/*
1309: C++2第十一章上机题2
时间限制:1.000s 内存限制:128MB
题目描述
一个基类Person的多个派生类
已知基类Person的定义如下:
class Person
{
protected:
char Name[10];
char Sex;
int Age;
public:
void Register(char *name, int age, char sex);
void ShowMe();
};
请通过继承的方法建立两个派生类,其中
派生类Teacher:
1.新增的数据成员有:
char Dept[20];
int Salary;
2.新增的成员函数有:
构造函数,并使用基类的Register
3.重写的成员函数有:
void ShowMe() //显示数据成员信息,并使用基类的ShowMe
派生类Student:
1.新增的数据成员有:
char ID[12];
char Class[12];
2.新增的成员函数有:
Student(char *name, int age, char sex, char *id, char *classid);
3.重写的成员函数有:
void ShowMe() //显示数据成员信息,并使用基类的ShowMe
在主程序中分别建立两个派生类对象,利用已有的成员函数分别显示两个派生类对象的数据成员。
输入格式
教师对象的初始化参数
学生对象的初始化参数
输出格式
请参考输出样例严格按照格式输出教师对象和学生对象的详细信息
样例输入
章立早 38 m 电信学院 2300
李木子 22 f 02035003 能动01
样例输出
姓名 章立早
性别 男
年龄 38
工作单位 电信学院
月薪 2300
学号 02035003
姓名 李木子
性别 女
年龄 22
班级 能动01
#include<iostream>
#include<string.h>
using namespace std;
class Person //person类
{
protected:
char Name[10];
char Sex;
int Age;
public:
void Register(char *name, int age, char sex);
void ShowMe();
};
void Person::Register(char *name, int age, char sex)
{
strcpy(Name, name);
Age = age;
Sex = sex;
}
void Person::ShowMe()
{
cout << "姓名" << " " << Name << endl;
cout << "性别" << " ";
if (Sex == 'm')
cout << "男";
else
cout << "女";
cout << endl;
cout << "年龄" << " " << Age << endl;
}
class Teacher :public Person //Person的派生类Teacher
{
char Dept[20];
int Salary;
public:
Teacher(char *name, int age, char sex, char *dept, int salary);
void ShowMe();
};
Teacher::Teacher(char *name, int age, char sex, char *dept, int salary)
{
Register(name, age, sex);
strcpy(Dept, dept);
Salary = salary;
}
void Teacher::ShowMe()
{
Person::ShowMe();
cout << "工作单位" << " " << Dept << endl;
cout << "月薪 " << Salary << endl;
}
class Student :public Person //Person的派生类Student
{
char ID[12];
char Class[12];
public:
Student(char *name, int age, char sex, char *id, char *classid);
void ShowMe();
};
Student::Student(char *name, int age, char sex, char *id, char *classid)
{
Register(name, age, sex);
strcpy(ID, id);
strcpy(Class, classid);
}
void Student::ShowMe()
{
cout << "学号" << " " << ID << endl;
Person::ShowMe();
cout << "班级" << " " << Class;
}
int main()
{
char Name[10];
char Sex;
int Age;
char Dept[20];
int Salary;
char ID[12];
char Class[12];
cin >> Name >> Age >> Sex >> Dept >> Salary;
Teacher tea1(Name, Age, Sex, Dept, Salary);
cin >> Name >> Age >> Sex >> ID >> Class;
Student stu1(Name, Age, Sex, ID, Class);
tea1.ShowMe();
stu1.ShowMe();
}
*/