看到了就点个赞赞嘛~ ヾ(≧▽≦*)o~
第九周作业
(
*初学C++,想要把每周老师布置的实验题和自己写的程序记录下来,方便期末整理复习,请多多指教!
老师要求用的版本比较老,是Microsoft Visual C++ 2010 Express。
*)
一、实验内容1
声明二维坐标类作为基类派生圆类,把派生类圆作为基类,派生圆柱体类。
其中
- 基类二维坐标类有成员数据:x、y坐标值;有成员函数:构造函数实现对基类成员数据的初始化、输出的成员函数,要求输出坐标位置。
- 派生类圆类有新增成员数据:半径 ( R);有成员函数:构造函数实现对成员数据的初始化、计算圆面积的成员函数、输出的成员函数,要求输出圆半径
( R )。 - 派生圆柱体类新增成员数据有高(H);新增成员函数有构造函数、计算圆柱体体积的函数、输出所有成员的函数。
请完成程序代码的编写、调试,并得到正确结果。
#includeusing namespace std; # define Pi 3.1415 class Point { float x,y; public: Point(float a,float b) {x=a,y=b;} void Print() {cout<<"坐标位置为:"<<"("< float R; public: Circle(float a,float b,float c) :Point(a,b) {R=c;} float S() {return Pi*R*R; } void Show() {cout<<"圆的半径为:"< float H; public: Column(float a,float b,float c,float d) :Circle(a,b,c) {H=d;} float V() {return S()*H;} void Display() { Print(); Show(); cout<<"圆柱体的高为:"< Column c(8,9,1,10); c.Display(); cout<<"圆柱体的体积为:"< 二、实验内容2
声明一个学生类,有成员数据:学号、姓名、性别、年龄,要求有如下成员函数:构造函数、输出所有成员的函数。
把学生类作为基类,通过公有继承,分别派生博士生类、硕士生类、本科生类,其中
- 博士生类新增成员数据有 科研工作量 和 论文数 ;
- 硕士生类新增成员数据有 考核成绩 和 是否参加科研项目 (1—表示参加,0一表示未参加);
- 本科生类新增成员数据有获得 课内学分数 和 课外学分数 。
每个派生类需新增成员函数有构造函数、输出所有成员的函数。
请参考本实验的案例,完成程序代码的编写、调试,并得到正确结果。
思考
如果把学生类的输出成员函数取消,在派生类中,输出所有成员的函数应该如何实现?#include#include using namespace std; class Stu { int No,Age; char Name[10],Sex[4]; public: Stu(int no,char *name,char *sex,int age) { No=no,Age=age; strcpy(Name,name); strcpy(Sex,sex); } void Print() {cout<<"学号:"< int Ky,Lw; public: Bo(int no,char *name,char *sex,int age,int ky,int lw) :Stu(no,name,sex,age) {Ky=ky,Lw=lw;} void Print1() { Print(); cout<<"科研工作量:"< float Grade; bool Proj; public: Shuo(int no,char *name,char *sex,int age,float x,bool y) :Stu(no,name,sex,age) {Grade=x,Proj=y;} void Print2() { Print(); cout<<"考核成绩:"< float Knxf,Kwxf; public: Ben(int no,char *name,char *sex,int age,float a,float b) :Stu(no,name,sex,age) {Knxf=a,Kwxf=b;} void Print3() { Print(); cout<<"课内学分:"< Bo A(100100,"张三","男",27,500,10); Shuo B(200100,"李芳","女",24,9,1); Ben C(300100,"王五","男",19,65,6); A.Print1(); B.Print2(); C.Print3(); getchar(); }


![[C++] 继承与派生的应用(作业9) [C++] 继承与派生的应用(作业9)](http://www.mshxw.com/aiimages/31/836014.png)
