Осваиваю ООП на собственном маленьком проекте. Столкнулся с вопросом как изящно организовать сложение в простеньком классе. Класс содержит всего 2 переменные:
qint64 value;
pm_currency_t currency; // тип валюты
С одной стороны я хочу реализовать возможность сложения для этого класса, с другой я не хочу позволять сложение с разным типом валюты.
Насколько хорошей идеей будет перегрузка '+' для этого класса?
При попытке сложить разную валюту, какой будет лучшая реакция: возврат null_ptr, выброс исключения, что-то другое?