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

перегрузка операторов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Бинарная сортировка http://www.cyberforum.ru/cpp-beginners/thread1004069.html
#include <iostream> #include <fstream> #include <conio.h> #include <clocale> using namespace std; int main() { setlocale (LC_ALL, "Russian"); int a; int i = 0;
C++ Найти координаты x,y Как к найти координаты центра диалогового окна у С++ mfc http://www.cyberforum.ru/cpp-beginners/thread1004063.html
Программа по нахождению всевозможных структур из четырех точек C++
Добрый день, господа! У меня такая проблема. В общем, пользователь вводит точки, необходимо сделать всевозможные структуры по 4 точки. Помогите, друзья, подкорректировать. Вот то что я сделал:...
Программа по решению системы из m уравнений и n неизвестных с помощью матрицы C++
1. Программа просит пользователя ввести количество неизвестных – n, и количество уравнений в системе – m. 2. После этого, она спрашивает пользователя, каким способом будут заполняться матрица ...
C++ Адаптер http://www.cyberforum.ru/cpp-beginners/thread1004043.html
Помогите, пожалуйста, подкорректировать последний for_each, чтобы он ко всем элементам листа применил функцию Draw(). Класс Shape. Содержит информацию о положении центра фигуры (координаты x и...
C++ Компилятор на WP8 Существует ли официальный компилятор С++ на Windows Phone 8? подробнее

Показать сообщение отдельно
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
11.11.2013, 01:56
операторы << >> должны быть свободными функциями. если они мемберы, то они должны принимать один аргумент, т.к. второй - это неявный this и синтаксис будет кривой. сперва объект, потом стрим. в вашем случае самое простое - добавить перед ними friend:
C++
1
2
    friend std::ostream & operator <<(std::ostream & os, Food const & n){}
    friend std::istream & operator >>(std::istream & is, Food & n){}
оператор > - аналогично: либо свободная функция, принимающая два объекта, либо оператор-мембер, принимающий один аргумент. то, что будет слева от оператора - это this.
C++
1
2
3
4
5
6
7
8
9
10
11
    friend bool operator < (Food const & a, Food const & b)
    {
      // do something
      return false;
    }
 
    friend bool operator > (Food const & a, Food const & b)
    {
      // неверно. нужно a != b && b < a; или что-то такое.
      return b < a;
    }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru