- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安交通大学实验报告
课程__计算机程序设计__实验名称__继承__第 1 页 共 页
系 别____ ______ 实 验 日 期 2014 年 5 月 日
专业班级__ ___组别_____________ 实 验 报 告 日 期 2014 年 月 日
姓 名___ ______学号_ _ 报 告 退 发 ( 订正 、 重做 )
同 组 人_________________________________ 教 师 审 批 签 字
一、
熟练继承的用法,进一步训练类的编程,并练习不同继承方式下对基类的成员的访问的控制。
二、
(一)第一题:
1.源程序代码: #include<iostream>
using namespace std;
class Person
{
protected:
char *Name;
char Sex;
int Age;
public:
Person()
{
Name="csj";
Sex='M';
Age=18;
}
Person(char *name,char sex,int age)
{
Register(name,sex,age);
}
~Person()
{
delete []Name;
}
void Register(char *name,char sex,int age)
{
int m=strlen(name);
Name=new char[m+1];
strcpy(Name,name);
Sex=sex;;
Age=age;
}
void print()
{
cout<<"姓名:"<<Name<<"\t性别:"<<Sex<<"\t年龄:"<<Age<<endl;
}
};
class Teacher:public Person
{
protected:
char *zhuanye;
char *zhicheng;
char *course;
public:
Teacher();
Teacher(char*,char,int,char*,char*,char*);
void Register(char*,char,int,char*,char*,char*);
~Teacher();
void print();
};
Teacher::Teacher()
{
Person::Register("罗先觉",'M',61);
strcpy(zhuanye,"电气工程及其自动化");
strcpy(zhicheng,"教授");
strcpy(course,"电路");
}
Teacher::Teacher(char *name,char sex,int age,char *zy,char *zc,char *cor)
{
Register(name,sex,age,zy,zc,cor);
}
void Teacher::Register(char *name,char sex,int age,char *zy,char *zc,char *cor)
{
Person::Register(name,sex,age);
zhuanye=new char[strlen(zy)+1];
strcpy(zhuanye,zy);
zhicheng=new char[strlen(zc)+1];
strcpy(zhicheng,zc);
course=new char[strlen(cor)+1];
strcpy(course,cor);
}
Teacher::~Teacher()
{
delete []zhuanye;
delete []zhicheng;
delete []course;
}
void Teacher::print()
{
cout<<"姓名:"<<Name<<"\t性别:"<<Sex<<"\t年龄:"<<Age<<"\t专业"<<zhuanye<<"\t职称:"<<zhicheng<<"\t主讲课程:"<<course<<endl;
}
int main()
{
Person person;
person.Register("csj",'M',18);
person.print();
Teacher teacher("lll",'M',56,"math","jiaoshou","gaoshu");
teacher.print();
teacher.Regi
文档评论(0)