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

компьютеры программирование программы с++

У меня есть свой класс.
В программе переменные объявлены с указателем.
myClass *a;
myClass *b;
Как правильно написать перегрузку?
Пробовал так:
void matr::operator + ( matr *x )
matr* matr::operator + ( matr *x )
matr& matr::operator + ( matr &x )
matr& matr::operator + ( const matr &x )

Последние варианты прекрасно работают если переменные объявлены просто как.
myClass a;
myClass b;

Примечание:
Собственно вопрос: как правильно написать перегрузку?
Если у меня две переменные с указателями, то должны работать эти конструкции:
void matr::operator + ( matr *x )
matr* matr::operator + ( matr *x )
Но почему то не компилируется и выкидывает ошибку
invalid operands of types ‘matr*’ and ‘matr*’ to binary ‘operator+

Там где писал myClass a; и.т.д в программе класс называется matr
Ответы:
Вопрос не дописан
Операция + берет два аргумента (слагаемые) и возвращает результат:
  matr matr::operator + ( const matr &a, const matr &b  )
Неа, один аргумент, потому что первый это указатель this
> invalid operands of types ‘matr*’ and ‘matr*’ to binary ‘operator+
А сами объкты созданы?
a=new matr();
b=new matr();
Тогда к ним можно применять твой +.
И в теле оператора используй ->,а не точку.


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.