Приведем текст программы с комментариями:

//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);
}
Текст этой программы можно взять здесь.