#c #vector
#c #вектор
Вопрос:
Моя задача — вычислить функцию в векторе:
map<string, Operacija*> operacije;
Это строка, в которой мне нужно вычислить:
operacije["triangle"] = new Calculation1(4.2, 7);
Это мой класс:
class Operacija {
public:
int a;
int b;
Operacija(){}
Operacija(int _a, int _b)
{
this->a = a;
this->b = b;
}
};
Должен ли я поместить операцию triangle в вектор, а затем вычислить или я должен каким-то образом создать функцию в классе для ее вычисления. Операция Calculate должна вернуть (a*b)/2
.
Комментарии:
1. Обычно можно использовать
std::map<std::string, std::function<float(float, float)>
и хранить в нем вызываемые объекты.2. Можете ли вы ввести код, который я не понимаю, вот так
3. как вычисление указателя1 связано с операцией????
4. по моей ошибке это функция
5. Чтобы
new Calculation1(4.2, 7)
быть допустимым выражением,Calculation1
должен быть тип класса. Вы уверены, что это не такoperacije["triangle"] = calculation1(4.2, 7);
, и просят вас определить функциюOperacija* calculation1(double, double);
?