Тема: Допоможіть завершити код!
Написати програму алгоритмічною мовою С++. Реалізувати заданий класовий тип із заданими методами, використовуючи механізм перевантаження функцій та операцій, а також значення параметрів за замовчуванням. Написати фрагмент програми з використанням класового типу та заданих методів.
Задано трикутник в просторі [p1;p2;p3]
Конструктор повинен визначати довільний або рівносторонній трикутник в центрі координат. Визначення периметра. Перевантажити операції ==, виводу <<, вводу >>, а також дружню операцію <<= для повороту трикутника на кут α.
Більша частина коду написана не розумію як виконати пункт, перевантажити дружню операцію для повороту трикутника на кут α.
Code:
#ifndef TRIANGLE_H
#define TRIANGLE_H
#include <cmath>
#include <iostream>
using namespace std;
class triangle
{
private:
struct point {
float x;
float z;
float y;
};
point p1, p2, p3;
double a, b, c;
double square;
double perimetr;
public:
triangle() { p1.x = p2.x = p3.x = 0; square = 0; }
//triangle(int A, int B, int C) { p1 = A; p2 = B; p3 = C; double p = (double)(a + b + c) / 2; square = pow((p*(p - a)*(p - b)*(p - c)), 0.5); }
friend ostream & operator<<(ostream &os, const triangle & triangl) {
os << "p1 : " << endl;
os << "x = " << p1.x << endl;
os << "y = " << p1.y << endl;
os << "z = " << p1.z << endl;
os << "p2 : " << endl;
os << "x = " << p2.x << endl;
os << "y = " << p2.y << endl;
os << "z = " << p2.z << endl;
os << "p1 : " << endl;
os << "x = " << p3.x << endl;
os << "y = " << p3.y << endl;
os << "z = " << p3.z << endl;
return os;
}
friend istream & operator>>(istream &is, triangle & triangl) {
cout << "Enter p1 : " << endl;
cout << "Enter x : ";
is >> p1.x;
cout << "Enter y : ";
is >> p1.y;
cout << "Enter z : ";
is >> p1.z;
cout << "Enter p2 : " << endl;
cout << "Enter x : ";
is >> p2.x;
cout << "Enter y : ";
is >> p2.y;
cout << "Enter z : ";
is >> p2.z;
cout << "Enter p3 : " << endl;
cout << "Enter x : ";
is >> p3.x;
cout << "Enter y : ";
is >> p3.y;
cout << "Enter z : ";
is >> p3.z;
//a = sqrt(p1)
return is;
}
void calculatePerimetr() {
}
const bool operator==(const triangle & right) {
if ()
return true;
return false;
}
friend triangle & operator<<=(triangle & triangle, const double & alfa) {
}
};