//1公有继承中派生类Student对基类Person成员的访问(20分)
//题目内容:
//已知基类Person的定义如下:
//class Person
//{
// char Name[20];
// char Sex;
// int
// Age;
//public:
// void Register(char *name, int age, char sex);
// void
// ShowMe();
//};
//请通过继承的方法建立一个派生类Student,其中
//1.新增的数据成员有:
//int
//Number;
//char ClassName[10];
//2.新增的成员函数有:
//void RegisterStu(char
//*classname, int number, char *name, int age, char sex)
//
对数据成员赋值,并使用基类的Register
//void
//ShowStu() //显示数据成员信息,并使用基类的ShowMe
//在主程序中建立一个派生类对象,利用已有的成员函数分别显示派生类对象和基类对象的数据成员。
//
//输入格式 :
//学生的班级、学号、姓名、年龄和性别
//
//输出格式:
//先输出派生类对象的数据成员,依次为 学号、班级、姓名、年龄和性别
//再输出基类的数据成员,依次为姓名、年龄和性别
//
//输入样例:
//计算机51 85071011 张弓长 18 m
//
//输出样例:
//85071011 计算机51 张弓长 18 m
//张弓长 18 m
#include <iostream>
#include <string.h>
using namespace std;
class Person
{
private:
char Name[20];
char Sex;
int Age;
public:
void Register(char *name, int age, char sex)
{
strcpy(this->Name, name);
this->Sex = sex;
this->Age = age;
}
void ShowMe()
{
cout << Name << " " << Age << " " << Sex<<endl;
}
};
class Student:public Person
{
private:
int Number;
char ClassName[10];
public:
void RegisterStu(char*classname, int number, char *name, int age, char sex)
{
Person::Register(name, age, sex);
strcpy(this->ClassName, classname);
this->Number = number;
}
void ShowStu()
{
cout << Number << " " << ClassName << " " ;
Person::ShowMe();
}
};
int main()
{
char Name[20];
char Sex;
int Age;
int Number;
char ClassName[10];
Student stu1;
cin >> ClassName >> Number >> Name >> Age >> Sex;
stu1.RegisterStu(ClassName, Number, Name, Age, Sex);
stu1.ShowStu();
stu1.Person::ShowMe();
system("pause");
return 0;
}
//2一个基类Person的多个派生类(20分)
//题目内容:
//已知基类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.重写的成