Переопределите бинарный оператор + с параметрическим классомC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Переопределите бинарный оператор + с параметрическим классом

Сообщение Anonymous »

У меня есть класс Polynome, но у меня возникла проблема, когда я хочу переопределить оператор +.

Код: Выделить всё

#ifndef __POLYNOME_HPP__
#define __POLYNOME_HPP__

#include 
#include 
#include 
#include 
using namespace std;

template
class Polynome {

private :
map _coef;
public :
Polynome(): _coef() {

}

Polynome(Polynome& pol):_coef(pol._coef) {

}

Polynome(const T arrayOfT[]) {
for(int i = 0; i < sizeof(arrayOfT)/sizeof(arrayOfT[0]); i++) {
_coef.insert(pair(i, arrayOfT[i]));
}
}

Polynome(const set< pair > s) {
typename set< pair >::iterator it;
for(it = s.begin(); it!=s.end(); ++it) {
_coef.insert(*it);
}
}

friend ostream& operatorfirst - 1, it->first * it->second);
derivativePol.insert(derivativePair);
}
}

return derivativePol;
}

friend Polynome operator+(Polynome& p, Polynome& p2) {
Polynome pResult(p);
typename map::iterator it;
for(it = p._coef.begin(); it != p._coef.end(); ++it) {

pair newPair = pair(it->first, it->second + p2[it->first]);
pResult._coef.insert(newPair);

}

return pResult;
}
};
#endif
Компилятор выдает следующую ошибку:

Polynome.cpp:32:19: ошибка: нет функции сопоставления для вызова
'Polynome::Polynome(Polynome)'
Polynome.cpp:32:19: примечание: кандидаты: В файле, включенном из
Polynome. cpp:1:0: Polynome.hpp:30:9: note:
Polynome::Polynome(std::set) [with T = int]
Polynome(const set
> s) {
^ Polynome.hpp:30:9: примечание: не известно преобразование аргумента 1 из 'Polynome' в 'std::set

Подробнее здесь: https://stackoverflow.com/questions/409 ... tred-class
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»