点类派生出圆类,圆类派生出圆柱类

Posted duanqibo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了点类派生出圆类,圆类派生出圆柱类相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <stdlib.h>
using namespace std;
const double PI=3.14159;

//基类的定义
class Point

private:
int x,y;
public:
Point(int xx,int yy)

x=xx;
y=yy;

int Getx()

return x;

int Gety()

return y;

/*
void show()

cout<<x<<","<<y<<endl;

*/
friend ostream &operator<<(ostream &,const Point &);
;
ostream &operator<<(ostream &show,const Point &p)

show<<"("<<p.x<<","<<p.y<<")"<<endl;
return show;

//定义子类“圆”,公共的继承
class Circle:public Point

protected:
int r;
public:
Circle(int xx,int yy,int rr):Point(xx,yy)

r=rr;

int Getr()

return r;

double circumferen() const

return 2*PI*r;

double area()

return PI*r*r;

friend ostream &operator<<(ostream &,const &);
;

ostream &operator<<(ostream &show.const Point &p)

show<<"("<<c.x<<","<<c.y<<")",半径"<<c.r<<",周长:"<<
c.circmferen()<<"面积:"<<c.area()<<endl;
return show;

class Cylinder:public Circle

private:
int h;
public:
Cylinder(int xx=0,int yy=0,int rr=0,int hh=0):Circle(xx,yy,rr)

h=hh;

int Geth()

return h;

double Cy_area() const

return 2*Circle::area()+2*PI*r*h;

double volume()

return Circle::area()*h;

friend ostream &operator<<(ostream &,const Point &);
;
ostream &operator<<(ostream &show.const Point &cy)

show<<"("<<cy.x<<","<<cy.y<<")",半径"<<cy.r<<",表面积:"<<cy.Cy_area()
<<"体积:"<<cy.volume()<<endl;
return show;

int main()

Point objP(3,5);
// cout<<"点类的对象:"<<objP;
cout<<"横坐标的值:"<<objP.Getx()<<" ";
cout<<"纵坐标的值:"<<objP.Gety()<<endl;

Circle objC(3,5,9);
// cout<<"圆类的对象:"<<objC;
cout<<"圆的半径:"<<objC.Getr()<<endl;
cout<<"圆的周长:"<<objC.circumferen()<<end;;
cout<<"圆的面积:"<<objC.area()<<endl;

Cylinder objCy(3,5,9,12);
// cout<<"圆柱类的对象:"<<objCy;
cout<<"圆柱的表面积:"<<objCy.Cy_area()<<end;;
cout<<"圆柱的体积:"<<objC.volume()<<endl;

return 1;

 

以上是关于点类派生出圆类,圆类派生出圆柱类的主要内容,如果未能解决你的问题,请参考以下文章

C++使用一个基类派生出圆形和矩形,在矩形下派生出正方形并计算所有面积

java编程 定义一个Person类,

定义人员类person

用C++定义一个人员类

用C++定义一个人员类

C++ 设计一个圆类,计算圆的面积和周长。