"#include \n#include \n\nclass Point {\nprivate:\n double x, y, z;\n\npublic:\n Point(double x, double y, double z) : x(x), y(y), z(z) {}\n\n double getX() const { return x; }\n double getY() const { return y; }\n double getZ() const { return z; }\n};\n\nclass Line {\nprivate:\n Point p1, p2;\n\npublic:\n Line(const Point& p1, const Point& p2) : p1(p1), p2(p2) {}\n\n const Point& getP1() const { return p1; }\n const Point& getP2() const { return p2; }\n\n double distanceToPoint(const Point& point) const {\n double x1 = p1.getX();\n double y1 = p1.getY();\n double z1 = p1.getZ();\n double x2 = p2.getX();\n double y2 = p2.getY();\n double z2 = p2.getZ();\n double x0 = point.getX();\n double y0 = point.getY();\n double z0 = point.getZ();\n\n double numerator = std::abs((y2 - y1) * x0 - (x2 - x1) * y0 + x2 * y1 - y2 * x1);\n double denominator = std::sqrt(std::pow(y2 - y1, 2) + std::pow(x2 - x1, 2) + std::pow(z2 - z1, 2));\n\n return numerator / denominator;\n }\n};\n\nclass Plane {\nprivate:\n double a, b, c, d;\n\npublic:\n Plane(double a, double b, double c, double d) : a(a), b(b), c(c), d(d) {}\n\n double getA() const { return a; }\n double getB() const { return b; }\n double getC() const { return c; }\n double getD() const { return d; }\n\n double distanceToPoint(const Point& point) const {\n double x = point.getX();\n double y = point.getY();\n double z = point.getZ();\n\n return std::abs(a * x + b * y + c * z + d) / std::sqrt(std::pow(a, 2) + std::pow(b, 2) + std::pow(c, 2));\n }\n};\n\ndouble calculateDistance(const Point& p1, const Point& p2) {\n double x1 = p1.getX();\n double y1 = p1.getY();\n double z1 = p1.getZ();\n double x2 = p2.getX();\n double y2 = p2.getY();\n double z2 = p2.getZ();\n\n return std::sqrt(std::pow(x2 - x1, 2) + std::pow(y2 - y1, 2) + std::pow(z2 - z1, 2));\n}\n\nint main() {\n Point p1(1, 2, 3);\n Point p2(4, 5, 6);\n Point p3(7, 8, 9);\n\n Line line1(p1, p2);\n Line line2(p2, p3);\n\n Plane plane(p1.getX(), p1.getY(), p1.getZ(), 1);\n\n std::cout << "Distance between p1 and p2: " << calculateDistance(p1, p2) << std::endl;\n std::cout << "Distance from p3 to line1: " << line1.distanceToPoint(p3) << std::endl;\n std::cout << "Distance from p3 to plane: " << plane.distanceToPoint(p3) << std::endl;\n\n return 0;\n}\n"