Как написать геттер для массива
Допустим есть у меня класс точки:
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 будет не правильным.