首页 > 代码库 > 1001. Extending MyPoint class
1001. Extending MyPoint class
#include<iostream>
#include<cmath>
using namespace std;
class MyPoint
{
private:
double x, y;
public:
// The no-arg constructor that contruccts a point with coordinates(0,0)
MyPoint();
MyPoint(double x, double y);
double getX() const;
double getY() const;
//display the distance between two points in two-dimensional space.
double distance(const MyPoint &point);
};
MyPoint::MyPoint() {
x=0.0;
y=0.0;
}
MyPoint::MyPoint(double x,double y){
this->x = x;
this->y = y;
}
double MyPoint::getX() const{
return x;
}
double MyPoint::getY() const{
return y;
}
double MyPoint::distance(const MyPoint &point){
double a=this->x - point.x;
double b=this->y - point.y;
return sqrt( pow(a,2) + pow(b,2) );
}
class ThreeDPoint : public MyPoint
{
private:
double z;
public:
// The no-arg constructor that contruccts a point with coordinates(0,0,0)
ThreeDPoint();
ThreeDPoint(double x, double y, double z);
double getZ() const;
//display the distance between two points in Three-dimensional space.
double distance(const ThreeDPoint &point);
};
ThreeDPoint::ThreeDPoint():MyPoint(){
z=0.0;
}
ThreeDPoint::ThreeDPoint(double xx,double yy,double z):MyPoint(xx,yy){
this->z = z;
}
double ThreeDPoint::getZ() const{
return z;
}
double ThreeDPoint::distance(const ThreeDPoint &point){
double a = this->getX()-point.getX();
double b = this->getY()-point.getY();
double c = this->z-point.z;
return sqrt(pow(a,2) + pow(b,2) + pow(c,2));
}
int main(){
return 0;
}
1001. Extending MyPoint class