C++程序设计实践指导书7(答案)_第1页
C++程序设计实践指导书7(答案)_第2页
C++程序设计实践指导书7(答案)_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、WORD格式C+程序设计实践上机指导书专业资料整理WORD格式第七次专业班级学号*专业资料整理WORD格式*工程学院信息学院专业资料整理WORD格式实践成绩评价说明1上机前充分准备实践材料,对上机内容有程序草稿。10 分2独立完成实践任务,对实践过程非常清晰。30 分3认真理解知识点,能够与理论知识相结合。10 分4在机房遵守上机守那么,承受实践指导教师的监视与管理。20 分5认真填写实践指导书,写出实践小结。 10 分6在实践中具备一定的创新思想,能够主动与指导教师探讨。5 分7加大实践工作量,主动完成实践指导书中的选做题目。5 分8掌握程序调试的方法, 认真完成程序调试工作, 使程序能够运

2、行 10 分。专业资料整理WORD格式2专业资料整理WORD格式上机七 继承与派生二一、目的1理解继承与派生、单继承与多继承的概念;2理解基类与派生类的定义及使用方法,派生类对象及初始化方法;3理解继承与派生过程中,把派生类作为基类构成类族的概念及虚基类的概念。二、要求:1. 在上课之前,每一个同学必须将题目、程序编写完毕,做好充分的准备。2. 所有环节均由每位同学独立完成,严禁抄袭他人结果。三、步骤和内容1 由学生类、课程类作为基类,共同派生选课类。声明一个学生类,有成员数据:学号、*、性别、年龄,要求有如下成员函数:构造函数、输出所有成员的函数。声明一个课程类,有成员数据:课程编号 (cn

3、um)、课程名称 (cname)、学时数 (chour) ,要求有如下成员函数:构造函数、输出所有成员的函数。将学生类和课程类作为基类,通过公有继承, 共同派生选课类, 派生类新增成员数据有:成绩 (score);新增成员函数有:构造函数、输出所有成员的函数。main() 完成派生类对象的定义和有关成员函数的测试。2、由二维坐标点类作为基类派生出圆类;再由圆类作为基类派生出圆柱体类。提示:点类 Point 的数据成员为点坐标x、y,函数成员有构造函数和显示点坐标的函数show;Circle类新增数据成员为圆的半径radius,其成员函数show 除了显示圆心的坐标外还能显示半径大小; Cyli

4、nder 类新增数据成员为圆柱体高度height,其成员函数除了显示基类的所有数据成员外,还得显示圆柱体的高度1#include <iostream>#include <string>using namespacestd;class Studentpublic:Student(int i,string n,char s,int a)ID=i;name=n;sex=s;age=a;int getID()return ID;专业资料整理WORD格式3专业资料整理WORD格式void show()cout<<"ID:"<<ID<

5、;<endl;cout<<"name: "<<name<<endl;cout<<"sex:"<<sex<<endl;cout<<"age:" <<age<<endl;private:int ID;string name;char sex;int age;class Coursepublic:Course(int cno,char * cn, float ch)cnum=cno;cname=cn;chour=ch;void

6、show()cout<<"Course number:" <<cnum<<endl;cout<<"Course name : "<<cname<<endl;cout<<"Course hours:"<<chour<<endl;private:int cnum;string cname;float chour;class SelCourse:public Student,public Coursepublic:SelCourse(

7、int i,string n,char s,int a,int cno,char* cn,float ch,float g):Student(i,n,s,a),Course(cno,cn,ch)score=g;void show()Student:show();专业资料整理WORD格式4专业资料整理WORD格式Course:show();cout<<"Score: "<<score<<endl;private:float score;void main()Student s1(0001,"林维 ",'S'

8、;,21);s1.show();cout<<endl;Course c1(1001,"高级语言程序设计 " ,64);c1.show();cout<<endl;SelCourse sc1(9901,"X帅 ",'M',22,1002,"面向对象程序设计 C+" ,56,89); sc1.show();2、#include <iostream>#include <string>using namespacestd;class Point public:专业资料整理WORD格

9、式5专业资料整理WORD格式Point(int *=0, int yy=0)x=*;y=yy;int getX() return x; int getY() return y; void show() cout<<"("<<x<<","<<y<<")"<<endl; protected:int x,y; ;class Circle:virtual public Pointpublic:Circle(int *=0,int yy=0,float r=1):Point

10、(*,yy) radius=r;int getR() returnradius;void show()cout<<"圆心坐标 :"Point:show();cout<<" 圆半径 :"<<radius<<endl;protected:float radius; ;class cylinder:public Circlepublic:cylinder(int *=0,int yy=0,float r=1,float h=2):Point(*,yy),Circle(r) height=h;int getH()

11、return height;void show()Circle:show();cout<<" 圆柱体高度 :"<<height<<endl;private:float height; ;专业资料整理WORD格式6专业资料整理WORD格式int main()Point p1(1,2);p1.show();cout<<endl;Circle c1(2,2,3);c1.show();cout<<endl;cylinder cy1;cy1.show();system("pause");return 0;

12、不使用虚基类。如果 circle类继承 point,cylinder继承 circle,并且在 cylinder类中Point(*,yy),Circle(r) 这样在构造函数中赋值就会报错“错误1error C2614:“ cylinder: 非法的成员初始化 :“Point不是基或成员 。修改方法一,将point设置为虚基类, 修改方法二, 在cylinder构造函数中通过Circle(*,yy,r)传值给 point 。#include <iostream>#include <string>using namespace std;class Point public

13、:Point(int *=0, int yy=0)x=*;y=yy;int getX() return x; int getY() return y; void show()cout<<"("<<x<<","<<y<<")"<<endl;protected:int x,y;class Circle:public Pointpublic:Circle(int *=0,int yy=0,float r=1):Point(*,yy)radius=r;专业资料整理WORD

14、格式7专业资料整理WORD格式int getR() return radius;void show()cout<<" 圆心坐标 :"Point:show();cout<<"圆半径 :"<<radius<<endl;protected:float radius;class cylinder:public Circlepublic:cylinder(int *=0,int yy=0,float r=1,float h=2):Circle(*,yy,r)height=h;int getH() return height;void show()Circle:show();cout<<"圆柱体高度 :"<<height<<endl;private:float height;int main()Po

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论