栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

[C++] 继承与派生的应用(作业9)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[C++] 继承与派生的应用(作业9)

[C++]第九章 继承与派生(作业)

看到了就点个赞赞嘛~ ヾ(≧▽≦*)o~
第九周作业

*初学C++,想要把每周老师布置的实验题和自己写的程序记录下来,方便期末整理复习,请多多指教!
老师要求用的版本比较老,是Microsoft Visual C++ 2010 Express。
*)
一、实验内容1

声明二维坐标类作为基类派生圆类,把派生类圆作为基类,派生圆柱体类。

其中

  • 基类二维坐标类有成员数据:x、y坐标值;有成员函数:构造函数实现对基类成员数据的初始化、输出的成员函数,要求输出坐标位置。
  • 派生类圆类有新增成员数据:半径 ( R);有成员函数:构造函数实现对成员数据的初始化、计算圆面积的成员函数、输出的成员函数,要求输出圆半径
    ( R )。
  • 派生圆柱体类新增成员数据有高(H);新增成员函数有构造函数、计算圆柱体体积的函数、输出所有成员的函数。

请完成程序代码的编写、调试,并得到正确结果。

#include
using 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();
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836014.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号