C++实验报告九
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VC++程序设计实验报告
实验九题目:继承与派生专业
学生姓名
班级学号
指导教师
指导单位
日期
一、实验目的
1、理解类的继承概念,能够定义与使用类的继承关系
2、掌握派生类的声明与定义方法
3、掌握公有、私有与保护派生的访问特性
二、实验内容
1.设计一个大学的类系统,学校有学生、老师、职员,每种人员都有自己的特性,她们之间又有相同的地方。利用继承机制定义这个系统中的各个类及类上的必须操作。
2.假定车可分为货车、客车又可分为轿车、面包车与公共汽车。请设计相应的类层次结构并加以实现、
三、实验结果及其结果分析
1、(1)源程序:
#include〈iostream、h>
#include
class Person{
protected:
ﻩcharm_strName[10];
ﻩintm_nSex;
ﻩintﻩm_nAge;
public:
ﻩPerson(char*name,int age,char sex){
ﻩstrcpy(m_strName, name);
ﻩﻩm_nSex= (sex==’m'?0:1 );
ﻩm_nAge = age;
ﻩ}
void setName(char *name){
ﻩstrcpy(m_strName, name);
ﻩ}
ﻩvoid setSex(int sex){
m_nSex= (sex=='m'?0:1 );
ﻩ}
ﻩvoid setAge(int age){
ﻩﻩm_nAge = age;
ﻩ}
ﻩchar * getName(){
ﻩreturn m_strName;
ﻩ}
ﻩintgetAge(){
return m_nAge;
ﻩ}
intgetSex(){
ﻩreturn m_nSex;
ﻩ}
ﻩvoid ShowMe(){
ﻩﻩcout〈〈" 姓名:”<〈m_strName〈〈endl;
ﻩcout<〈” 性不:"<〈(m_nSex==0?"男":”女”)〈 cout<<"年龄:”< ﻩ} }; class Teacher : public Person{ ﻩchar m_strDept[20]; ﻩint m_fSalary; public: ﻩTeacher(char *name,int age,char sex,char *dept,int sal ary) ﻩ:Person(name,age,sex){ ﻩﻩstrcpy(m_strDept, dept); ﻩ m_fSalary = salary; ﻩ} ﻩvoid ShowMe() { Person::ShowMe(); ﻩﻩcout〈<" 工作单位:"〈〈m_strDept<<endl; ﻩcout〈<"月薪:"<<m_fSalary〈 ﻩ} ﻩvoid setSalary(int salary){ ﻩﻩm_fSalary = salary; } ﻩint getSalary(){ return m_fSalary; ﻩ} }; class Student : public Person{ char m_strID[12]; ﻩchar m_strClass[12]; public: Student(char *name,intage,char sex,char *ID,char *Class) ﻩﻩ:Person(name,age,sex){ ﻩstrcpy(m_strID, ID); strcpy(m_strClass, Class); ﻩ} void ShowMe(){ ﻩcout<〈"学号:”<〈m_strID〈〈endl; ﻩPerson::ShowMe(); ﻩﻩcout<<" 班级:”<〈m_strClass〈<”\n”; ﻩ} ﻩvoid setID(char * ID){ ﻩstrcpy(m_strID, ID); ﻩ} ﻩvoid setClass(char *Class){ ﻩ strcpy(m_strClass, Class); ﻩ} ﻩchar* getID(){ ﻩﻩreturn m_strID; ﻩ} ﻩchar*getClass(){ ﻩﻩreturnm_strClass; ﻩ} }; class Employee:public Person{ intm_fSalary; public: ﻩEmployee(char *name,int age,char sex,intsalary) ﻩﻩ:Person(name,age,sex){ ﻩm_fSalary = salary; } ﻩvoid setSalary(intsalary){ ﻩﻩm_fSalary = salary; ﻩ} ﻩint getSalary(){ ﻩﻩreturn m_fSalary; ﻩ} ﻩvoid ShowMe(){ ﻩﻩPerson::ShowMe(); ﻩcout<〈” 工资:"〈〈m_fSalary〈<”\n";