#include<string>
using namespace std;
class Data
{
public:Data()
{
}
char name[20];
Data(char x[])
{
strcpy(name, x);
}
};
class Teacher :virtual public Data
{
public:
Teacher()
{};
int sal;
Teacher(char x[], int y):Data(x)
{
sal = y;
};
void print()
{
cout << "姓名" << name << endl;
cout << "工资" << sal << endl;
}
};
class Student :virtual public Data
{
public:
Student()
{};
int id;
Student(char x[], int y):Data(x)
{
id = y;
}
void print()
{
cout << "姓名" << name << endl;
cout << "学号" << id << endl;
}
};
class Postgrad :public Student
{
public:
Postgrad()
{
};
char dn[20];
Postgrad(char x[], int y, char z[]) :Student(x, y)
{
strcpy(dn, z);
};
void print()
{
cout << "姓名" << name << endl;
cout << "学号" << id << endl;
cout << "系别" << dn << endl;
}
};
class Tpost :public Teacher, public Postgrad
{
public:
Tpost(char x[], int y, char z[], int a):Teacher(x,a),Postgrad(x,y,z)
{
};
void print()
{
cout << "姓名" << name << endl;
cout << "学号" << id << endl;
cout << "系别" << dn << endl;
cout << "工资" << sal << endl;
}
};
int main()
{
Teacher a(zhang, 50);
Student b(wang, 123456);
Postgrad c(li, 1234567, yixue);
Tpost d(liu, 22, faxue, 70);
a.print();
b.print();
c.print();
d.print();
return 0;
}
zhang wang这种是字符串,都要用引号括起来
Teacher a("zhang", 50);
Student b("wang", 123456);
Teacher是类。建立具体的对象,需要使用 new 命令。
如:
Teacher a = new Teacher("zhang", 50);