c++中 抽象类 继承 的编程问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 06:48:26
#include<iostream.h>
#define Pi 3.1415926
class Shape
{
public:
Shape(){}
~Shape(){}
virtual void printShapeName( )=0;
virtual void print( )=0;
virtual double GetArea()=0;
virtual double GetVolume( )=0;
};
class Point:public Shape
{
public:
Point(double x,double y){X=x;Y=y;}
~Point(){}
void printShapeName( );
void print( ){}
private:
double X,double Y;
};
class Circle:public Point
{
public:
Circle(double x,double y,double r):Point(x,y){radius=r;}
~Circle(){}
double GetArea();
void printShapeName( );
void print( ){}
private:
double radius;
};
class Cylinder:public Circle
{
public:
Cylinder(double x,double y,double a,double b):Circle(x,y,a){radius=a;hight=b;}
void GetCylinder(double a,double b){radius=a;hight=b;}
void printShapeName( );
void print( ){}
double G

#include<iostream.h>
#define Pi 3.1415926
class Shape
{
public:
Shape(){}
~Shape(){}
virtual void printShapeName( )=0;
virtual void print( )=0;
virtual double GetArea()=0;
virtual double GetVolume( )=0;
};
class Point:public Shape
{
public:
Point(double x,double y){X=x;Y=y;}
~Point(){}
void printShapeName( );
void print( ){}
double GetArea(){return 0;} //添加
double GetVolume( ){return 0;} //添加
private:
double X,double Y;
};
class Circle:public Point
{
public:
Circle(double x,double y,double r):Point(x,y){radius=r;}
~Circle(){}
double GetArea();
void printShapeName( );
void print( ){}
private:
double radius;
};
class Cylinder:public Circle
{
public:
Cylinder(double x,double y,double a,double b):Circle(x,y,a){radius=a;hight=b;}
void GetCylinder(double a,double b)