Тема: “Перевантаження потоків введення/виведення”
[code=C++]#include <iostream>
using namespace std;
class Kolo {
    private:
        double radius;
    public:
        Kolo() {
            radius = 0;
        }
        Kolo(double r) {
            radius = r;
        }
        void Show() {
            cout << radius << endl;
        }
        Kolo operator *(Kolo &other) {
            Kolo temp;
            temp.radius = this->radius * other.radius;
            return temp;
        }
        bool operator <=(Kolo &other) {
            if(radius <= other.radius) {
                return true;
            }
            else {
                return false;
            }
        }
};
int main() {
    setlocale(LC_ALL, "uk-UA");
    Kolo A(2), B(15), C;
    cout << "Радіус A = ";
    A.Show();
    cout << " Радіус B =  ";
    B.Show();
    C = A * B;
    cout << " Радіус C = ";
    C.Show();
    if(A <= B) {
        cout << "A<=B" << endl;
    }
    else {
        cout << "А не менше рівне В" << endl;
    }
    if(B <= A) {
        cout << "B<=A" << endl;
    }
    else {
        cout << "В не менше рівне А" << endl;
    }
    system("pause");
    return 0;
}[/code]
P.S
цю програму переробити
Додати в клас попередньої практичної роботи  перевантажені оператори потокового введення-виведення у файл та дружню функцію згідно варіанту.  
В основній програмі (в функції main) необхідно розробити тестову частину:
1)    створити два об’єкти (перший конструктором з параметрами,  другий конструктором за замовчуванням);
2)    дані першого об’єкта записати у файл 1.txt за допомогою перевантаженого оператора «<<»;
3)    відкрити повторно файл 1.txt, зчитати з нього інформацію за допомогою перевантаженого оператора «>>» і записати її у поля другого об’єкта;
4)    дані другого об’єкта вивести на екран;
5)    викликати дружню функцію.
(Дружня функція повинна обчислювати площу кола.)