Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- class Point {
- protected:
- public:
- virtual double x() = 0;
- virtual double y() = 0;
- virtual double z() = 0;
- virtual void ChangePoint(double x, double y, double z) = 0;
- };
- class Point1d :public Point {
- protected:
- double PosX;
- public:
- Point1d(double x) {
- PosX = x;
- }
- virtual double x()override { return PosX; }
- virtual void ChangePoint(double x, double y, double z)override {
- PosX = x;
- }
- };
- class Point2d :public Point1d {
- protected:
- double PosY;
- public:
- Point2d(double x, double y) :
- Point1d(x) {
- PosY = y;
- }
- virtual double x()override { return PosX; }
- virtual double y()override { return PosY; }
- virtual void ChangePoint(double x, double y, double z)override {
- PosX = x;
- PosY = y;
- }
- };
- class Point3d :public Point2d {
- protected:
- double PosZ;
- public:
- Point3d(double x, double y, double z) :
- Point2d(x, y) {
- PosZ = z;
- }
- virtual double x()override { return PosX; }
- virtual double y()override { return PosY; }
- virtual double z()override { return PosZ; }
- virtual void ChangePoint(double x, double y, double z)override {
- PosX = x;
- PosY = y;
- PosZ = z;
- }
- };
- #include <math.h>
- double CountDistance(Point* object1, Point* object2) {
- double x = object1->x() - object2->x();
- double y = object1->y() - object2->y();
- double z = object1->z() - object2->z();
- return sqrt((pow(x, 2) + pow(y, 2))+pow(z,2));
- }
Advertisement
Add Comment
Please, Sign In to add comment