- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四--虚函数和操作符重载
实验四--虚函数和操作符重载
标题: 1、虚函数
时 限: 1000 ms
内存限制: 10000 K
总时限: 3000 ms
描述: 1.设计Person类。保护成员:姓名string Name; 公有成员函数:void Print(); 构造函数。
2.从Person类派生Student类。保护成员:学号int Number;公有成员函数:void Print(); 构造函数。
3.从 Person类派生 Teacher类。保护成员:教龄int Year;公有成员函数:void Print();构造函数。
4.从Student类派生Graduate类。保护成员:研究方向string Research;公有成员函数:void Print();构造函数。
在主程序中定义一个Person类的对象指针数组,长度由用户输入。而后,用户依次输入对象信息(对象类别及其包含的成员)。全部录入后,由用户输入要显示的对象信息在数组中的位置,并在屏幕上打印,如果用户输入”exit”则退出。
输入: 指针数组长度;
对象信息(输入方式见输入样例);
要显示的对象在数组中的位置;
exit。
输出: 用户要求显示的对象信息。
输入样例: 4
Person Zhang
Student Zhao 200905
Graduate Li 200905 DataMining
Teacher Luo 10
0
2
exit
输出样例: Person Zhang
Graduate Li 200905 DataMining
提示: 基类的成员函数Print()定义成虚函数。
代码:
#include iostream
#include string
#include sstream
using namespace std;
class Person
{
protected:
string Name;
string Member;
public:
Person(string name = asd,string member =asd):Name(name),Member(member)
{
}
virtual ~Person()
{
}
virtual void Print()
{
coutMember Nameendl;
}
virtual void set(const string member = asdf,const string name =ad,const int num = 0,const string research=asd)
{
Name = name;
Member=member;
}
};
class Student:public Person
{
protected:
int Number;
public:
Student(string member = asdf,string name = asd,int number = 0)
{
Name = name;
Member=member;
Number =number;
}
~Student() {}
void Print()
{
coutMember Name Numberendl;
}
void set(const string member,const string name,const int num = 0,const string research = asd)
{
Number = num;
Member = member;
Name = name;
}
};
class Teacher:public Person
{
protected:
int Year;
public:
Teacher(int year = 0,string name=asc)
{
Year=year;
Name = name;
}
~Teacher()
{
}
void Print()
{
coutMember Name Yearendl;
}
void set(const string member = asd,const string name=as,const int
文档评论(0)