Как создать class Triangle, из class`a Point?
1. На кой вам наследование вообще? Вы утверждаете что треугольник это точка??
2. Ну вот оставьте три точки которые вы уже объявили в качестве полей, и сделайте методы для операций, определённых над треугольников в целом, например посчитать периметр или площадь. Сделайте конструктор, который эти три точки будет принимать и дополнительно проверять что никакие две из них не лежат на одной прямой - получите инвариант невырожденного треугольника.
По каким книгам вы всё это делаете? Учебный материал у вас явно не очень.
double getP(){
            return p1 + p2 + p3;
}
Не "взлетит". Не описан operator+ в Point.
У вас есть метод для координат на плоскости (кстати туда б добавить надо, например тех же операторов). Для треугольника нужны кроме 3 поинтов, еще методы "что с ними делать", например GetSquare(), InSpace(Point), GetCenter()... etc... 
Класс для "тупо хранения трех точек" без методов работы с ними - не нужен.