Как написать геттер для массива

Допустим есть у меня класс точки:

class Point {
public :
    double x, y;
    static double Distance(Point p1, Point p2) {
        return sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
    }
};

и класс треугольника который описывается тремя точками:

class Triangle {
private:
    Point points[3];
    double perimeter;
public :
    Triangle(Point points[3])
    {
        SetPoints(points);
    }

    void SetPoints(Point points[3]) {
        this->points[0] = points[0];
        this->points[1] = points[1];
        this->points[2] = points[2];

        perimeter = Point::Distance(points[0], points[1]) +
            Point::Distance(points[0], points[2]) +
            Point::Distance(points[1], points[2]);
    }

    double GetPerimeter() {
        return perimeter;
    }
};

Как правильно написать геттер для массива points? Ведь если просто вернуть указатель на первый элемент массива то тогда значения массива можно будет изменять вне класса, и может сложится ситуация когда значения perimeter будет не правильным.


Ответы (0 шт):