Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ООП_5.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
- //
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include <iomanip>
- #include <ctype.h>
- #include <string.h>
- using namespace std;
- class Coord
- {
- public:
- int delta;
- int x;
- int y;
- void operator ++()
- {
- x = x + delta;
- y = y + delta;
- }
- friend void operator !(Coord& class_coor);
- Coord& operator+(Coord& class_coor2)
- {
- this->x = this->x + class_coor2.x;
- cout << "Диструктор класса Coord x"<< this->x << endl;
- this->y = this->y + class_coor2.y;
- cout << "Диструктор класса Coord y" << this->y << endl;
- this;
- return *this;
- }
- friend void operator >=(Coord& class_coor1, Coord& class_coor2);
- friend ostream& operator <<(ostream& out, Coord& class_coor);
- friend istream& operator >>(istream& in, Coord& class_coor);
- ~Coord()
- {
- cout << "Диструктор класса Coord" << endl;
- }
- };
- void operator !(Coord& class_coor)
- {
- if (class_coor.x == 0) {
- cout << "Координата 'x' равна нулю" << endl;
- }
- else {
- cout << "Координата 'x' не 0" << endl;
- }
- if (class_coor.y == 0) {
- cout << "Координата 'y' равна нулю" << endl;
- }
- else {
- cout << "Координата 'y' не 0" << endl;
- }
- }
- void operator >=(Coord& class_coor1, Coord& class_coor2)
- {
- int num1 = sqrt(class_coor1.y * class_coor1.x);
- int num2 = sqrt(class_coor2.y * class_coor2.x);
- if (num1 > num2) {
- cout << "В первом классе среднее квадротичное значение координат больше чем во втором" << endl;
- }
- else {
- cout << "Во втором классе среднее квадротичное значение координат больше чем в первом" << endl;
- }
- }
- ostream& operator <<(ostream& out, Coord& class_coor)
- {
- out << "'x' = " << class_coor.x << " " << endl;
- out << "'y' = " << class_coor.y << " " << endl;
- return out;
- }
- istream& operator >>(istream& in, Coord& class_coor)
- {
- cout << "Введите x:" << endl;
- in >> class_coor.x;
- cout << "Введите y:" << endl;
- in >> class_coor.y;
- return in;
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- int delta2;
- while (1)
- {
- cout << "Введите цифру:" << endl;
- cout << "0- Установить дельта" << endl;
- cout << "1- Оператор ++" << endl;
- cout << "2- Оператор !" << endl;
- cout << "3- Оператор +" << endl;
- cout << "4- Оператор >=" << endl;
- cout << "5- Выход" << endl;
- int i;
- Coord class_coor1;
- Coord class_coor2;
- Coord class_coor3;
- cin >> i;
- switch (i)
- {
- case 0:
- {
- cout << "Установить дельта:" << endl;
- cin >> delta2;
- break;
- }
- case 1:
- {
- cin >> class_coor1;
- class_coor1.delta = delta2;
- ++class_coor1;
- cout << "x+:" << class_coor1.x << endl;
- cout << "y+:" << class_coor1.y << endl;
- break;
- }
- case 2:
- {
- cin >> class_coor2;
- class_coor2.delta = delta2;
- !class_coor2;
- break;
- }
- case 3:
- {
- cin >> class_coor3;
- class_coor3.delta = delta2;
- class_coor3 + class_coor2;
- cout << "Вывод сложения классов class+class.n:" << endl;
- cout << class_coor3 << endl;
- break;
- }
- case 4:
- {
- class_coor1 >= class_coor2;
- break;
- }
- case 5:
- {
- return 0;
- }
- }
- }
- }
- // Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"
- // Отладка программы: F5 или меню "Отладка" > "Запустить отладку"
- // Советы по началу работы
- // 1. В окне обозревателя решений можно добавлять файлы и управлять ими.
- // 2. В окне Team Explorer можно подключиться к системе управления версиями.
- // 3. В окне "Выходные данные" можно просматривать выходные данные сборки и другие сообщения.
- // 4. В окне "Список ошибок" можно просматривать ошибки.
- // 5. Последовательно выберите пункты меню "Проект" > "Добавить новый элемент", чтобы создать файлы кода, или "Проект" > "Добавить существующий элемент", чтобы добавить в проект существующие файлы кода.
- // 6. Чтобы снова открыть этот проект позже, выберите пункты меню "Файл" > "Открыть" > "Проект" и выберите SLN-файл.
Add Comment
Please, Sign In to add comment