




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VC+程序设计实验报告 实验九题目:继承与派生 专 业 学 生 姓 名 班 级 学 号 指 导 教 师 指 导 单 位 日 期 教师评语 教师签名: 年 月 日成绩评定备 注一、实验目的1. 理解类的继承概念,能够定义和使用类的继承关系2掌握派生类的声明与定义方法3. 掌握公有、私有和保护派生的访问特性二、实验内容1. 设计一个大学的类系统,学校有学生、老师、职员,每种人员都有自己的特性,他们之间又有相同的地方。利用继承机制定义这个系统中的各个类及类上的必须操作。2. 假定车可分为货车、客车又可分为轿车、面包车和公共汽车。请设计相应的类层次结构并加以实现。三、实验结果及其结果分析1.(1)源程
2、序:#include <iostream.h>#include <string.h>class Personprotected:char m_strName10;int m_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=
3、 (sex='m'?0:1 );void setAge(int age)m_nAge = age;char * getName()return m_strName;int getAge()return m_nAge;int getSex()return m_nSex;void ShowMe()cout<<" 姓 名:"<<m_strName<<endl;cout<<" 性 别:"<<(m_nSex=0?"男":"女")<<end
4、l;cout<<" 年 龄:"<<m_nAge<<endl;class Teacher : public Personchar m_strDept20;int m_fSalary;public:Teacher(char *name,int age,char sex,char *dept,int salary):Person(name,age,sex) strcpy(m_strDept, dept); m_fSalary = salary;void ShowMe() Person:ShowMe();cout<<" 工作
5、单位:"<<m_strDept<<endl;cout<<" 月 薪:"<<m_fSalary<<endl;void setSalary(int salary)m_fSalary = salary;int getSalary()return m_fSalary;class Student : public Personchar m_strID12;char m_strClass12;public:Student(char *name,int age,char sex,char *ID,char *Class
6、):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_
7、strClass, Class);char* getID()return m_strID;char* getClass()return m_strClass;class Employee:public Personint m_fSalary;public:Employee(char *name,int age,char sex,int salary):Person(name,age,sex)m_fSalary = salary;void setSalary(int salary)m_fSalary = salary;int getSalary()return m_fSalary;void Sh
8、owMe()Person:ShowMe();cout<<" 工 资:"<<m_fSalary<<"n"void main()Teacher teacher1("周明",38,'m',"计算机系",3800);Student std1("王芳",20,'f',"03016003","计算机03");Employee emPloyee1("李鑫",25,'f'
9、;,2000);teacher1.ShowMe();cout<<"-"<<endl;std1.ShowMe();cout<<"-"<<endl;emPloyee1.ShowMe();teacher1.setAge(40);teacher1.setSalary(4500);std1.setAge(21);emPloyee1.setAge(26);emPloyee1.setSalary(2000);cout<<"-"<<endl;cout<<"修
10、改各类人员的属性后:"<<endl;teacher1.ShowMe();cout<<"-"<<endl;std1.ShowMe();cout<<"-"<<endl;emPloyee1.ShowMe();(2)实验结果: 2.(1)源程序:#include<iostream.h>class vehicle/ 定义基类vehiclepublic: / 公有函数成员 vehicle(int in_wheels,float in_weight); / 给数据成员初始化 int ge
11、t_wheels(); / 获取车轮数 float get_weight(); / 获取汽车重量 void setWeels(int wls); void setWeight(float wt); void display() cout<<"车轮数:"<<wheels<<" 汽车重量:"<<weight<<endl; private: / 私有数据成员 int wheels; / 车轮数 float weight; / 表示汽车承重;vehicle:vehicle(int in_wheels,f
12、loat in_weight)wheels = in_wheels;weight = in_weight;float vehicle:get_weight()return weight;int vehicle:get_wheels()return wheels;void vehicle:setWeels(int wls)wheels = wls;void vehicle:setWeight(float wt)weight = wt;class truck:public vehicle / 定义货车类truckprivate: / 新增私有数据成员 float weight_load; / 承重
13、public: / 新增公有成员函数 truck(int wheel,float wt,float wl):vehicle(wheel,wt) weight_load = wl; float getLoads() return weight_load; void display() vehicle:display(); cout<<"汽车承重"<<weight_load<<endl; ;/车和客车,客车又可分为轿车、面包车和公共汽车class car:public vehicle/ 定义客车类car int passenger_load;
14、 / 新增私有数据成员,表示载客数public: / 新增公有成员函数car(int in_wheels,float in_weight,int people=4):vehicle(in_wheels,in_weight)passenger_load = people;int getPassengers()return passenger_load;void setPassengers(int people)passenger_load = people;void display() vehicle:display(); cout<<"载客数:"<<
15、passenger_load<<endl;void main()truck truck1(8,400,100000);/ 货车car car1(4,20);/ 客车car saloon_car(4,10,5);/ 轿车car microbus(6,10,18);/ 面包车car bus(6,20,30);/ 公共汽车/ 显示相关信息truck1.display();cout<<"-"<<endl;car1.display();cout<<"-"<<endl;saloon_car.display();cout<<"-"<<endl;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业单位改制正式合作协议
- 资本投资合作合同
- 无人机制造项目研发合同
- 保安服务合同终止协议书
- 木工单包工劳务合同书
- 环保节能设备制造合同
- 房屋出售居间合同
- 装修工程人工劳务合同
- 工业互联网平台运营合作协议
- 房屋中介服务合同
- 2025山东省退役军人事务厅所属事业单位招聘人员历年高频重点提升(共500题)附带答案详解
- 2025年道路货运驾驶员从业资格证模拟考试题
- 数学-安徽省皖南八校2025届高三上学期12月第二次大联考试题和答案
- 退市新规解读-上海证券交易所、大同证券
- 教育部中国特色学徒制课题:现代职业教育体系建设背景下中国特色学徒制治理体系与资源配置研究
- 融资报告范文模板
- 桃李面包盈利能力探析案例11000字
- 护理工作十四五规划
- GB/Z 30966.71-2024风能发电系统风力发电场监控系统通信第71部分:配置描述语言
- 脑梗死的护理查房
- 2025高考数学专项复习:概率与统计的综合应用(十八大题型)含答案
评论
0/150
提交评论