Задать вопрос
DredWulf
@DredWulf

Как на C++ можно реализовать перегрузку оператора +?

Хочу попробовать создать перегрузку, изменяющую поведение оператора + для работы с массивами.
Чтобы при сложении "массив" + "число int" это число добавлялось в массив.
*Массив статический.

Как это можно реализовать?

В моем варианте непонятное поведение. В итоге в массив ничего не добавляется
//q - массив
//push помещает элемент в свободную ячейку массива и принимает (значение, размер массива)

Queue operator+ (Queue q, int num){
    q.push(num, q.size());
    return q;
};
  • Вопрос задан
  • 71 просмотр
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
@vanyamba-electronics
Добавляется, но в копию, которая создаётся при вызове функции.
Queue& operator+ (Queue& q, int num) {
    q.push(num, q.size());
    return q;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы