/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作者:邱学伟
* 完成日期:2013 年 5 月 19 日
* 版本号:v1.0
* 输入描述:无
* 问题描述:
* 程序输出:
* 问题分析:
* 算法设计:略
*/
/*(1)先建立一个Point(点)类,包含数据成员x,y(坐标点);
(2)以Point为基类,派生出一个Circle(圆)类,增加数据成员 (半径);
(3)再以Circle类为直接基类,派生出一个Cylinder(圆柱体)类,再增加数据成员h(高)。
要求编写程序,设计出各类中基本的成员函数(包括构造函数、析构函数、修改数据成员和获取数据成员的公共接口、用于输出的重载运算符“<<”函数等),使之能用于处理以上类对象,最后求出圆格柱体的表面积、体积并输出。
*/
#include
using namespace std;
class Point
{
public:
Point(double a=0,double b=0);
void SetPoint(double,double);
double getX() const {return x;}
double getY() const {return y;}
void ShowPoint();
friend ostream & operator<<(ostream &output,const Point &c);
protected:
double x,y;
};
Point::Point(double a,double b)
{
x=a;
y=b;
}
void Point::SetPoint(double x1,double y1)
{
x=x1;
y=y1;
}
void Point::ShowPoint()
{
cout<<"Point: ("<
ostream & operator<<(ostream &output,const Point &c)
{
output<<"point: ("<
}
class Circle:public Point
{
public:
Circle(double a,double b,double c):Point(a,b),r(c){}
void SetCircle(double r2);
double Getr(){return r;}
double area();
void ShowCircle();
friend ostream & operator<<(ostream &,const Circle &C);
protected:
double r;
void Circle::SetCircle(double r2)
{
r=r2;
}
double Circle::area()
{
return 3.1415*r*r;
}
void Circle::ShowCircle()
{
cout<<"Circle: ("<
}
int main()
{
Cylinder cy(3.5,6.4,5.2,10);
cout<<"cylinder: POINT:("<
}