Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Задание 1
Создайте класс Дробь (или используйте уже ранее созданный
вами). Используя перегрузку операторов реализуйте для него
арифметические операции для работы с дробями (операции +, -,
*, /).
Задание 2
Создать класс Overcoat (верхняя одежда) Реализовать
перегруженные операторы:
1. Проверка на равенство типов одежды (операция = =);
2. Операцию присваивания одного объекта в другой
(операция =);
3. Сравнение по цене двух пальто одного типа (операция>).
Задание 3
Создать класс Flat (квартира). Реализовать перегруженные
операторы:
1. Проверка на равенство площадей квартир (операция ==);
2. Операцию присваивания одного объекта в другой
(операция =);
3. Сравнение двух квартир по цене (операция>)
1. #define_CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <time.h>
#include <cmath>
#include <math.h>
#include <string.h>
using namespace std;
class Fraction {
float x, y;
public:
void Set(int _x, int _y) {
if (_x > _y) {
for (int i = _y; i > 1; i--)
if (_y % i == 0 && _x % i == 0) {
_y = _y / i;
_x = _x / i;
i = _y;
}
x = _x;
y = _y;
}
else if (_y > _x) {
for (int i = _x; i > 1; i--)
if (_y % i == 0 && _x % i == 0) {
_y = _y / i;
_x = _x / i;
i = _x;
}
x = _x;
y = _y;
}
else {
y = 1;
x = 1;
}
if (a == 0 || a1 == 0 || b == 0 || b1 == 0) {
cout << "Error";
return 1;
}
Fraction ab;
Fraction a1b1;
ab.Set(a, b);
a1b1.Set(a1, b1);
cout << ab + a1b1 << " " << ab - a1b1 << " " << ab * a1b1
<< " " << ab / a1b1 << " " << endl;
return 0;
}
2. #define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <time.h>
#include <cmath>
#include <math.h>
#include <string.h>
using namespace std;
class Overcoat {
char str[20];
int price;
public:
Overcoat(char* s) {
strcpy(str, s);
}
void setPrice(int k) {
price = k;
}
strcpy(str, cloth.str);
price = cloth.price;
}
};
int main() {
setlocale(LC_ALL, "ukr");
Overcoat a((char*)"coat");
Overcoat a1((char*)"coat1");
a.setPrice(100);
a1.setPrice(101);
cout << "Назва " << (a == a1) << "\nЦіна " <<(a>a1) <<endl;
a = a1;
return 0;
}
3. #define_CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <time.h>
#include <cmath>
#include <math.h>
#include <string.h>
using namespace std;
class Overcoat {
int price, square;
public:
Overcoat(int s, int p) {
price = p;
square = s;
}
bool operator ==(Overcoat cloth) {
if (square != cloth.square)
return 0;
return 1;
}
square = cloth.square;
price = cloth.price;
}
};
int main() {
setlocale(LC_ALL, "ukr");
Overcoat a(30, 18000);
Overcoat a1(30, 19000);
cout << "Площа " << (a == a1) << "\nЦіна " <<(a>a1) <<endl;
a = a1;
return 0;
}