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

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

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

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

17.10.2016, 15:34. Просмотров 123. Ответов 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 (хоть и не понимаю, зачем), но так говорит, что слишком много формальных аргументов, если убрать, то просит обратно
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2016, 15:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перегрузка оператора (C++):

Перегрузка оператора += - C++
У меня имеется структура и метод, который вызывается след образом: A.plus_and_minus(B); Есть огромное желание перегрузить функцию += ,...

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

Перегрузка оператора = - C++
помогите создать перегруженный оператор = в классе Х, который будет копировать содержание строки S1 в S2.

Перегрузка оператора = - C++
Как перегрузить оператор = для char ?

Перегрузка оператора - C++
Подскажите пожалуйста, способ перегрузки операторов &gt;= и &lt;= в следующей строке if ( ob.str &gt;= '0' &amp;&amp; ob.str &lt;= '9' )Мой вариант не...

Перегрузка оператора != - C++
Помогите разобраться с перегрузкой оператора != есть класс, в котором, в разделе private объявлен указатель на массив std::string *str; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
17.10.2016, 16:10 #2
Там только int должен быть - 1 параметр.
0
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;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2016, 16:28
Привет! Вот еще темы с ответами:

перегрузка оператора () - C++
Вопрос заключается в следующем: - Что собой представляет перегружаемый оператор()? - Как его перегрузить? ( обычные операторы тип ++ и...

Перегрузка оператора == - C++
Пытаюсь перегрузить оператор == . Делаю так: В классе: class cData // класс дата { int year; // год short mounth; //...

Перегрузка оператора += - C++
Создал класс дробь. Пытаюсь перегрузить оператор += (или -=, *=, /=) А компилятор выдаёт ошибку 'drob operator+=(drob&amp;)' must take...

Перегрузка оператора [] - C++
Сделал простой аналог auto_ptr для дин. массива. Файл #ifndef ARRAY_PTR_GUARD #define ARRAY_PTR_GUARD template&lt; class Ty_ &gt; ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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