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

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

Войти
Регистрация
Восстановить пароль
 
dimitrykorno
0 / 0 / 0
Регистрация: 16.04.2016
Сообщений: 38
#1

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

17.10.2016, 15:34. Просмотров 111. Ответов 2

Добрый день!
Мне нужно перегрузить в классе двумерного массива оператор ++, чтобы она возвращал максимальный элемент массива.

класс в файле .h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class int_matrix
{
private:
    int lines;
    int columns;
    int **matr;
public:
    int_matrix(int l,int c);
    int_matrix(const int_matrix& mat);
    ~int_matrix();
    void print();
    void print(int in_line);
 
    int operator++(const int_matrix& mat,int ); //оператор, который не получается перегрузить.
    
    friend double** operator%(int_matrix& mat1, int_matrix& mat2);
};
определение его в файле .cpp
C++
1
2
3
4
5
6
7
8
int int_matrix:: operator++( const int_matrix& mat,int )
{
     int max = mat.matr[0][0];
     for (int i = 0; i < mat.lines; i++)
         for (int j = 0; j < mat.columns; j++)
             if (mat.matr[i][j] > max) max = mat.matr[i][j];
     return max;
}
не знаю, как правильно это оформить, оператор постфиксный, значит по теории, должен быть второй аргумент int (хоть и не понимаю, зачем), но так говорит, что слишком много формальных аргументов, если убрать, то просит обратно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2016, 15:34     Перегрузка оператора
Посмотрите здесь:

Перегрузка оператора -> - C++
Для чего она вообще и как её использовать? Черканите, если не трудно, &quot;детский&quot; примерчик !

Перегрузка оператора ++ - C++
Нужно создать операторы префиксного и постфиксного инкремента для приращения переменной itsRadius класса SimpleCircle. Переменная itsRadius...

Перегрузка оператора - C++
Доброго времени суток! Помогите, пожалуйста, с решением задачи: Описать класс множество целых чисел. Перегрузить следующую операцию: +...

Перегрузка оператора = - C++
Есть некий класс. И два класса-наследника. Надо перегрузить оператор =, к тому же в дочерних классах вызывать перегрузку в базовом классе....

Перегрузка оператора ~ - C++
Доброго времени суток! Помогите пожалуйста с решением задачи. Описать класс множество целых чисел. Перегрузить следующую операцию: ~...

Перегрузка оператора - C++
Здравствуйте! Помогите разобраться с перегрузкой операторов. Суть задания: Осуществите перегрузку оператора “++” так, чтобы при его...

Перегрузка оператора ++ - C++
Написал префиксную перегрузку ++ Vremya &amp;Vremya::operator ++ () { int sec = getSec(*this); //перевод в секунды ...

Перегрузка оператора - C++
Имеется время, например 12:12:12 Перегрузка инкремента Time &amp;Time::operator ++ () { Next(); return *this; } ...

Перегрузка оператора >> - C++
Не понимаю, в чем проблема при перегрузке операторов &lt;&lt; &gt;&gt; прочитал много статей, сделал как в примере, но msvs 2013 выдает ошибку: ...

Перегрузка оператора - C++
Здравствуйте. Нужна помощь) Есть такой класс: class vect { public: float *items; vect() { items = new float; for(int...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5113 / 4433 / 1474
Регистрация: 14.04.2014
Сообщений: 17,571
17.10.2016, 16:10     Перегрузка оператора #2
Там только int должен быть - 1 параметр.
SpBerkut
Объявлятель переменных
908 / 234 / 113
Регистрация: 24.09.2011
Сообщений: 875
Завершенные тесты: 2
17.10.2016, 16:28     Перегрузка оператора #3
Не, ну я могу ошибаться, но как-то вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
// это в *.h
int operator++(const int mat);
    
// это в *.cpp
int int_matrix:: operator++( const int mat )
{
     int max = this->matr[0][0];
     for (int i = 0; i < this->lines; i++)
         for (int j = 0; j < this->columns; j++)
             if (this->matr[i][j] > max) max = this->matr[i][j];
     return max;
}
Yandex
Объявления
17.10.2016, 16:28     Перегрузка оператора
Ответ Создать тему
Опции темы

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