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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

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

11.08.2014, 16:36. Просмотров 359. Ответов 4
Метки нет (Все метки)

Помогите новичку!
Пишу класс и вынес его в отдельные файлы *.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;
    }
выдает ошибку...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2014, 16:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перегрузка операторов: Можно ли вынести "тело" оператора (расчеты) из H в CPP? (C++):

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this - C++
Добрый день . Помогите понять принцип работы перегрузки операторов. объясните пожалуйста в зависимости от чего зависит агрумент при...

Перегрузка оператора "++" и "--" в чем может быть причина нарушение прав доступа? - C++
Вот такой вот код #include <iostream> class d { private: int size ; char *n; public: d()

Перегрузка оператора "++" и "--" , компилирует, но при запуске программы - ошибка - C++
#include <iostream> #include<ctime> #include<stdio.h> #include<locale.h> #include <windows.h> #include <conio.h> ...

Класс "Матрица". Перегрузка оператора "минус" - C++
Помогите дописать программу или исправить ее. Нужно было написать программу, где создать класс матрицы, используя двухмерный динамический...

Перегрузка оператора "+", чтобы выполнял "*" - C++
Ребят, привет всем, возник такой вопрос: возможно ли перегрузить оператор "+" так, чтоб выполнялось умножение? Например вводится...

Класс "Матрица", перегрузка оператора "+" - C++
Здравствуйте. Создаю класс матрица, в нём перегружаю оператор "+". На этапе компиляции всё замечательно, но при запуске программа вылетает....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
0x10
2464 / 1636 / 238
Регистрация: 24.11.2012
Сообщений: 4,031
11.08.2014, 16:41 #2
Цитата Сообщение от Tester64 Посмотреть сообщение
выдает ошибку...
Телепатов нет, текст ошибки?
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
11.08.2014, 16:41 #3
Цитата Сообщение от Tester64 Посмотреть сообщение
выдает ошибку
Сколько в ней заглавных букв? Хотя, постойте, не говорите, это тоже можно угадать.
0
Ilot
Модератор
Эксперт С++
1811 / 1168 / 229
Регистрация: 16.05.2013
Сообщений: 3,082
Записей в блоге: 5
Завершенные тесты: 1
11.08.2014, 16:42 #4
Ваши шансы получить полный ответ существенно повысятся если вы откроете нам тайну, что же за ошибка у вас выскакивает.
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
11.08.2014, 17:12  [ТС] #5
Цитата Сообщение от Ilot Посмотреть сообщение
что же за ошибка у вас выскакивает
Простите! Ступил... Думал ошибка частая для новичков или принципиально невозможно...

Попробовал еще раз - заработало... возможно была опечатка! Немного удивило возможность описания кода в Н-файле... думал это невозможно/неправильно...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2014, 17:12
Привет! Вот еще темы с ответами:

Класс "Дробь". Перегрузка оператора "==" - C++
template <class T> void polynomial<T>::refresh(){ //отбрасывающую старшие члены полинома с нулевыми коэффициентами int counter = 0;...

Перегрузка операторов "+" и "-" и бинарных - C++
здраствуйте помогите пожалуйста перегрузить операторы + и - бинарные у меня есть 2 списка "ск" и "сн"; и число "ч" в мейне это...

Перегрузка операторов для класса "множество целых чисел" - C++
Собственно, в этом и вопрос. Как перегрузить операторы "+" и "-" для объединение и разности двух множеств?

Класс "Дроби" и перегрузка операторов для этого класса - C++
Всем Доброго времени суток. Есть учебная задача по условиям которой необходимо реализовать класс "Дроби" и перегрузку операторов для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.08.2014, 17:12
Ответ Создать тему
Опции темы

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