Здравствуйте. Столкнулся с проблемой: не могу правильно перегрузить оператор сложения в шаблоне класса. Может кто показать мне мою ошибку? Тип данных массива в шаблоне может быть char,int, float, double. Должно поддерживаться сложение разных типов данных (т.е. если первый объект с параметром int, а второй - с параметром double, то метод должен возвращать объект с параметром double).
#pragma once
template
cpp файл:
#include "stdafx.h"
#include "Vector.h"
#include
Ответ
Если я верно понял, что вы хотите, то решение примерно такое -
template
Код
Vector
даст Vector
И еще - вы должны объявить этот оператор как возвращающий вектор нового типа, а не ссылку - иначе вы по сути вынуждены возвращать ссылку на свой объект, а его тип предопределен.
Update В принципе, можно как-то так - но, как мне кажется, это будет совсем не так красиво:
template
Т.е. даем компилятору самому решить, какой тип имеет сумма, и этот тип используем для типа возвращаемого значения.
Комментариев нет:
Отправить комментарий