Приведем текст программы с комментариями:
//OOP14_2.СРР - классы без дружественной функции. #include<iostream.h> class line2; // Предварительное описание. // Класс "точка на плоскости": class point2 { float x, y; // Координаты точки на плоскости. public: point2(float xn = 0, float yn = 0) // Конструктор. { x = xn; y = yn; } //Методы, возвращающие значения x и y. float xx() {return x;} float yy() {return y;} }; // Класс "прямая на плоскости": class line2 { float A, B, C; // Параметры прямой. public: line2(float a, float b, float c) // Конструктор. { A = a; B = b; C = c; } //Методы, возвращающие значения A, B и C. float AA() {return A;} float BB() {return B;} float CC() {return C;} }; // Глобальная функция. float uclon(point2 p, line2 l) { return l.AA() * p.xx() + l.BB() * p.yy() + l.CC(); } void main(void) { point2 P(16.0,12.3); // Определение точки P. line2 L(10.0,-42.3,24.0); // Определение прямой L. cout << "\n Уклонение точки Р от прямой L: "; cout << uclon(P,L); }