以点(point)类为基类,重新定义矩形类和圆类。点为直角坐标点,矩形水平放置,由左下方的顶点和长宽定义。圆由圆心和半径定义。派生类操作判断任一坐标点是在图形内,还是在图形的边缘上,还是在图形外。缺省初始化图形退化为点。要求包括拷贝构造函数。编程测试类设计是否正确。
#include <iostream>
#include <cmath>
using namespace std;
const double PI=3.1415926535;
class Point{
private:
double x,y;
public:
Point(){x = 0; y = 0; }
Point(double xv,double yv){x = xv;y = yv;}
Point(Point& pt){ x = pt.x; y = pt.y; }
double getx(){return x;}
double gety(){return y;}
double Area(){return 0;}
void Show(){cout<<"x="<<x<<' '<<"y="<<y<<endl;}
};
class Circle :public Point{
double radius;
public:
Circle(){radius = 0;}
Circle(double xv,double yv,double vv):Point(xv,yv){radius = vv;}
Circle(Circle& cc):Point(cc){radius = cc.radius;} //拷贝构造函数
double Area(){return PI*radius*radius;}
void Show(){//注意怎样访问基类的数据成员
cout<<"x=&