Тема: “Перевантаження потоків введення/виведення”
[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) викликати дружню функцію.
(Дружня функція повинна обчислювати площу кола.)