晕,我早就知道用种方法,之所数据继承,是因为,只要输入班级和分数,那么名字和编号肯定在父类里了。。又看了题目。感觉还是下面这种方法最好,也是正确的。烦死了,
什么人啊,出题目也不搞清楚,真是的。
#include "stdafx.h"
/*
* 要求设计一个基类:Person,作为学生类Student、教师类Teacher的基类,学生类中有编号、姓名、班号、成绩,
* 其中班号和成绩的输入和显示在Student中实现,教师数据中有编号、姓名、职称、部门,其中职称和部门的输入和显示
* 在Teacher类中实现,下面给出基类的成员:
* Person类:
private:
int no; //编号
char name[10]; //姓名
public:
void input();//编号和姓名的输入
void diaplay();//编号和姓名的输出
*/
#include <iostream>
using namespace std;
class Person
{
public:
virtual void input()
{
}
virtual void display()
{
}
};
class Student :public Person
{
private:
char name[20];
int m_id;
int classNum;
float score;
public:
Student():classNum(0),score(0.0)
{
memset(name,0,20);
m_id = 0;
}
void input()
{
cin >> name; cin >> m_id;
cin >> classNum >> score;
}
void display()
{
cout << name << m_id <<endl;
cout <<classNum <<score <<endl;
}
};
class Teacher: public Person
{
private:
char name[20];
int m_id;
char title[20];
char door[20];
public:
Teacher()
{
memset(title, 0, 20);
memset(door, 0, 20);
memset(name,0,20);
m_id = 0;
}
~Teacher()
{
memset(title, 0, 20);
memset(door, 0, 20);
}
void input()
{
cin >> name; cin >> m_id;
cin >> title ;
cin >> door;
}
void display()
{
cout << name << m_id <<endl;
cout <<title <<door<<endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
Student wnag;
wnag.display();
while (1);
return 0;
}
[ 本帖最后由 missiyou 于 2009-12-29 15:03 编辑 ]
什么人啊,出题目也不搞清楚,真是的。
#include "stdafx.h"
/*
* 要求设计一个基类:Person,作为学生类Student、教师类Teacher的基类,学生类中有编号、姓名、班号、成绩,
* 其中班号和成绩的输入和显示在Student中实现,教师数据中有编号、姓名、职称、部门,其中职称和部门的输入和显示
* 在Teacher类中实现,下面给出基类的成员:
* Person类:
private:
int no; //编号
char name[10]; //姓名
public:
void input();//编号和姓名的输入
void diaplay();//编号和姓名的输出
*/
#include <iostream>
using namespace std;
class Person
{
public:
virtual void input()
{
}
virtual void display()
{
}
};
class Student :public Person
{
private:
char name[20];
int m_id;
int classNum;
float score;
public:
Student():classNum(0),score(0.0)
{
memset(name,0,20);
m_id = 0;
}
void input()
{
cin >> name; cin >> m_id;
cin >> classNum >> score;
}
void display()
{
cout << name << m_id <<endl;
cout <<classNum <<score <<endl;
}
};
class Teacher: public Person
{
private:
char name[20];
int m_id;
char title[20];
char door[20];
public:
Teacher()
{
memset(title, 0, 20);
memset(door, 0, 20);
memset(name,0,20);
m_id = 0;
}
~Teacher()
{
memset(title, 0, 20);
memset(door, 0, 20);
}
void input()
{
cin >> name; cin >> m_id;
cin >> title ;
cin >> door;
}
void display()
{
cout << name << m_id <<endl;
cout <<title <<door<<endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
Student wnag;
wnag.display();
while (1);
return 0;
}
[ 本帖最后由 missiyou 于 2009-12-29 15:03 编辑 ]