Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Работа с классами и перегрузка операций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ проблема со структурой и функциями http://www.cyberforum.ru/cpp-beginners/thread573583.html
Задание: 1. Описать структуру с именем ZNAK, содержащую следующие поля: • фамилия, имя; • знак Зодиака; • день рождения (массив из трех чисел). 2. Написать программу, выполняющую следующие...
C++ компилятор во всех задачах постоянно выдаёт одну и ту же ошибку. Что делать? компилятор во всех задачах постоянно выдаёт одну и ту же ошибку (даже если задача решена правильно). Что делать? Deleting intermediate files and output files for project '65 - Win32 Debug'.... http://www.cyberforum.ru/cpp-beginners/thread573575.html
Не получается создать структуры – список сеансов кинотеатра C++
Доброго времени суток! Помогите пожалуйста составить программу к задаче: Создать массив, элементами которого являются структуры – список сеансов кинотеатра (название фильма, время начала,...
C++ Не получается создать структуры – список работников фирмы
Доброго времени суток! Помогите пожалуйста составить программу к задаче: Создать массив, элементами которого являются структуры – список работников фирмы (фамилия, должность, стаж, зарплата)....
C++ Не получается создать структуры – заказы магазина http://www.cyberforum.ru/cpp-beginners/thread573561.html
Доброго времени суток! Помогите пожалуйста составить программу к задаче: Создать массив, элементами которого являются структуры – заказы магазина (фамилия клиента, товар, стоимость, адрес). Создать...
C++ Массив структур "Абонент" Доброго времени суток! Помогите пожалуйста составить программу к задаче: Создать массив, элементами которого являются структуры – список телефонов (номер, фамилия абонента, адрес). Создать функцию,... подробнее

Показать сообщение отдельно
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
14.05.2012, 18:49
Я не стал разбираться с диагоналями, просто сложил координаты класса прямоугльника.
Вот реализация оператора суммы:
C++
1
2
3
4
5
6
7
8
9
Rectangle operator+(const Rectangle& lhs, const Rectangle& rhs)
{
    Rectangle ret(lhs);
    ret.x1 = lhs.x1 + rhs.x1;
    ret.x2 = lhs.x2 + rhs.x2;
    ret.y1 = lhs.y1 + rhs.y1;
    ret.y2 = lhs.y2 + rhs.y2;
    return ret;
}
Эта функция не член класса.
В классе только объявляете ее дружественной под маркером паблик:
C++
1
2
3
4
5
6
class Rectangle
{
public:
friend Rectangle operator+(const Rectangle&, const Rectangle&);
//....
};
Таким же образом перегружаете для остальных классов.

Надеюсь теперь это то, что вам надо=)
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru