#include <iostream>
#include<string>
using namespace::std;
class Residents {
public:
int id;
string name;
string sex;
int birth;
Residents();
void input_R();
void output_R();
};
Residents::Residents(){}
void Residents::input_R()
{
cin >> id >> name >> sex >> birth;
}
void Residents::output_R()
{
cout << id << " " << name << " " << sex << " " << birth << endl;
}
class Adult :public Residents
{
public:
string stuex;
string prof;
Adult();
void input_A();
void output_A(); //这个只用输入最高学历和职业即可,其余用基类输入?
};
Adult::Adult(){}
void Adult::input_A()
{
input_R();
cin >> stuex>> prof;
}
void Adult::output_A()
{
output_R();
cout << stuex << " " << prof << endl;
}
class Party :public Adult
{
public:
Party();
string type;
void input_P();
void output_P();
};
Party::Party(){}
void Party::input_P()
{
input_A();
cin >> type;
}
void Party::output_P()
{
output_A();
cout << type;
}
int main() {
Residents R;
R.input_R();
R.output_R();
Adult A;
A.input_A();
A.output_A();
Party P;
P.input_P();
P.output_P();
return 0;
}
较为简单,可以直接调用父亲的函数,并依此剩下了很多代码行。