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

Перегрузка операторов: Можно ли вынести "тело" оператора (расчеты) из H в CPP? - C++

Восстановить пароль Регистрация
 
Tester64
394 / 355 / 43
Регистрация: 22.05.2013
Сообщений: 2,455
11.08.2014, 16:36     Перегрузка операторов: Можно ли вынести "тело" оператора (расчеты) из H в CPP? #1
Помогите новичку!
Пишу класс и вынес его в отдельные файлы *.CPP и *.H
Теперь пытаюсь переопределить операторы. Начал с =
По примеру отсюда http://habrahabr.ru/post/132014/
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
class Integer {
private:
    int value;
public:
    Integer& operator=(const Integer& right) {
        if (this == &right) { return *this; }
        value = right.value;
        return *this;
    }
};
Все успешно работает
Можно ли вынести "тело" оператора (расчеты) из H в CPP? И как?

... код может быть большим... и хочу сделать КУЧУ типов (+строку, +число, +его-же...) и не уверен что код будет маленьким... не хочу "засорять H-файл!

Пробовал в H
C++ (Qt)
1
  Integer& operator=(const Integer& right);
и в CPP
C++ (Qt)
1
2
3
4
5
   Integer& Integer::operator=(const Integer& right) {
        if (this == &right) { return *this; }
        value = right.value;
        return *this;
    }
выдает ошибку...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2014, 16:36     Перегрузка операторов: Можно ли вынести "тело" оператора (расчеты) из H в CPP?
Посмотрите здесь:

C++ Перегрузка операторов в классе "Последовательность целых чисел"
Перегрузка операторов для класса "множество целых чисел" C++
C++ Класс "Дроби" и перегрузка операторов для этого класса
Перегрузка оператора "++" и "--" в чем может быть причина нарушение прав доступа? C++
Перегрузка оператора "++" и "--" , компилирует, но при запуске программы - ошибка C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
11.08.2014, 16:41     Перегрузка операторов: Можно ли вынести "тело" оператора (расчеты) из H в CPP? #2
Цитата Сообщение от Tester64 Посмотреть сообщение
выдает ошибку...
Телепатов нет, текст ошибки?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
11.08.2014, 16:41     Перегрузка операторов: Можно ли вынести "тело" оператора (расчеты) из H в CPP? #3
Цитата Сообщение от Tester64 Посмотреть сообщение
выдает ошибку
Сколько в ней заглавных букв? Хотя, постойте, не говорите, это тоже можно угадать.
Ilot
Модератор
Эксперт С++
1765 / 1140 / 221
Регистрация: 16.05.2013
Сообщений: 3,017
Записей в блоге: 5
Завершенные тесты: 1
11.08.2014, 16:42     Перегрузка операторов: Можно ли вынести "тело" оператора (расчеты) из H в CPP? #4
Ваши шансы получить полный ответ существенно повысятся если вы откроете нам тайну, что же за ошибка у вас выскакивает.
Tester64
394 / 355 / 43
Регистрация: 22.05.2013
Сообщений: 2,455
11.08.2014, 17:12  [ТС]     Перегрузка операторов: Можно ли вынести "тело" оператора (расчеты) из H в CPP? #5
Цитата Сообщение от Ilot Посмотреть сообщение
что же за ошибка у вас выскакивает
Простите! Ступил... Думал ошибка частая для новичков или принципиально невозможно...

Попробовал еще раз - заработало... возможно была опечатка! Немного удивило возможность описания кода в Н-файле... думал это невозможно/неправильно...
Yandex
Объявления
11.08.2014, 17:12     Перегрузка операторов: Можно ли вынести "тело" оператора (расчеты) из H в CPP?
Ответ Создать тему
Опции темы

Текущее время: 02:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru