项目四"/>
项目四
/*
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 作 者:王静
* 完成日期:2013 年 5 月 21 日
* 版 本 号:v1.0
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:
* 算法设计:略
*/
#include<iostream>
#include<Cmath>
#define pi 3.14
using namespace std;
class Point //定义坐标点类
{
public:Point():x(0),y(0) {};Point(double x0, double y0):x(x0), y(y0) {};//void PrintPoint();friend ostream&operator<<(ostream&,Point&);double x,y; //数据成员,表示点的横坐标和纵坐标
};
ostream&operator<<(ostream&cout,Point&c)
{cout<<"("<<c.x<<","<<c.y<<")"; //输出点return cout;
}
class Circle: public Point //利用坐标点类定义直线类, 其基类的数据成员表示直线的中点
{
public:Circle():oo(0,0),r(1){};Circle(double x0,double y0,double r0):oo(x0,y0),r(r0){};friend ostream&operator<<(ostream&,Circle&);//void PrintCircle();double arge();double circle();double r;Point oo;
};
double Circle::arge()
{return pi*r*r;
}
double Circle::circle()
{return 2*pi*r;
}//void Circle::PrintCircle()ostream&operator<<(ostream&cout,Circle&c){cout<<"圆心为:"<<c.oo;//oo.PrintPoint();cout<<"半径是:"<<c.r<<"的圆";return cout;}class Cylinder:public Circle{public:Cylinder():cc(0,0,1),h(1){};Cylinder(double x0,double y0,double r0,double h0):cc(x0,y0,r0),h(h0){};//void PrintCylinder();friend ostream&operator<<(ostream&,Cylinder&);double cylindervirmle();double cylinderarge();private:double h;Circle cc;};double Cylinder::cylindervirmle(){return h*cc.arge();}double Cylinder::cylinderarge(){return h*cc.circle()+cc.arge()*2;}//void Cylinder::PrintCylinder()ostream&operator<<(ostream&cout,Cylinder&c){cout<<"底面为:"<<c.cc;//cc.PrintCircle();cout<<"高为:"<<c.h<<"的圆柱体的";cout<<"表面积为:"<<c.cylinderarge();cout<<"体积为:"<<c.cylindervirmle()<<endl;return cout;}
int main()
{Cylinder c(1,1,2,4);cout<<c;return 0;
}
运行结果:
更多推荐
项目四
发布评论