当前位置:
文档之家› 继承与多态性 实验五实验报告(面向对象程序设计)
继承与多态性 实验五实验报告(面向对象程序设计)
{
hg=h;
}
double Column::Getarea()
{
return 4*pai*radiums*radiums+2*pai*radiums*hg;
}
double Column::Getvolume()
三、概要设计
1、该程序实现实验题目要求的各个功能。
2、类:Geometry包含Getarea()、Getperimeter()、Getvolume()三个纯虚函数。该类为虚基类。
类:Circle包含基类中是三个函数,功能分别为求面积、求周长、不使用。一个私有成员radiums,储存半径长度。
类:Rectangle包含基类中是三个函数,功能分别为求面积、求周长、不使用。一个私有成员a、b,储存长方形长和宽的长度。
virtual double Getarea();
virtual double Getperimeter(){return 0;}
virtual double Getvolume();
virtual void show();
protected:
double hg;
};
Column::Column(double r,double h):Circle(r)
{
return (a+b)*2;
}
void Rectangle::show()
{
cout<<"长方形的面积为:"<<Getarea()<<endl;
cout<<"长方形的周长为:"<<Getperimeter()<<endl;
}
class Ball:public Circle{//球类
public:
{
return radiums*radiums*pai;
}
double Circle::Getperimeter()
{
return 2*pai*radiums;
}
void Circle::show()
{
cout<<"圆的面积为:"<<Getarea()<<endl;
cout<<"圆的周长为:"<<Getperimeter()<<endl;
};
Ball::Ball(double r):Circle(r){}//球类
double Ball::Getarea()
{
return 4*pai*radiums*radiums;
}
double Ball::Getvolume()
{
return 4*pai*radiums*radiums*radiums/3;
virtual void show();
protected:
double a,b;
};
Rectangle::Rectangle(double m,double n)
{aBiblioteka m;b=n;}double Rectangle::Getarea()
{
return a*b;
}
double Rectangle::Getperimeter()
}
void Ball::show()
{
cout<<"球的表面积为:"<<Getarea()<<endl;
cout<<"球的体积为:"<<Getvolume()<<endl;
}
class Column:public Circle{//圆柱类
public:
Column(double r,double h);
类:Ball包含基类是三个函数,功能分别为求面积、不使用、求体积。该类继承于圆类,半径也继承于圆类。
类:Column包含基类是三个函数,功能分别为求面积、不使用、求体积。一个私有成员hg,储存圆柱的高。该类继承于圆类,半径也继承于圆类。
四、详细设计
#include<iostream>
using namespace std;
virtual double Getvolume(){return 0;}
virtual void show();//输出函数
protected:
double radiums;
};
Circle::Circle(double r)
{
radiums=r;
}
double Circle::Getarea()
Ball(double r);
virtual double Getarea();//即使是二层的派生类,也需要将全部虚函数具体化
virtual double Getperimeter(){return 0;}
virtual double Getvolume();
virtual void show();
virtual void show()=0;
};
class Circle:public Geometry{
public:
Circle(double r);
virtual double Getarea();//三个虚函数,分别是求面积、求周长、求体积
virtual double Getperimeter();
}
class Rectangle:public Geometry{//长方形类
public:
Rectangle(double m,double n);
virtual double Getarea();//将三个虚函数具体化
virtual double Getperimeter();
virtual double Getvolume(){return 0;}
const double pai=3.1415926;//用const在程序中用pai代替3.1415926
class Geometry{
public:
virtual double Getarea()=0;//定义三个纯虚函数
virtual double Getperimeter()=0;
virtual double Getvolume()=0;
大学实验报告
年月日
课程名称:面向对象程序设计实验名称:继承与多态性
班级:姓名:同组人:无
指导教师评定:签名:
实验五
1、实验目的
根据现有类建立新类;学习构造基类和虚函数的用法。
2、实验内容
应用VC++6.0的编辑环境构造一个类Jhtx及其派生类,该类主要实现关于几何图形的基本操作。对于基类“几何图形”,有求面积、求体积的函数(纯虚函数),其派生类圆和矩形主要有初始化(构造函数),求面积,求周长操作,类圆的派生类圆球和圆柱有求表面积、体积操作。试在主函数中分别定义圆、圆球、圆柱以及矩形的对象,并调用其成员函数实现其相应操作。