У меня есть три указатели на три объекта:.C оператор ++ для а = Ь * с указателями на а, Ь, с-объектов в качестве входных данных
MyClass* a = new MyClass(...);
MyClass* b = new MyClass(...);
MyClass* c = new MyClass(...);
Теперь я хочу, чтобы указать оператор в MyClass так, чтобы Я могу сделать:
a = b*c;
Так, Ь, с уже существующими крупными объектами, которые я не хочу делать какие-либо дополнительные копии. Я хочу сделать умножение и напрямую написать результат «a».
1) Возможно ли это с операторами C++? 2) Может ли кто-нибудь дать мне несколько советов по синтаксису? (я немного новичок в операторах.)
Благодарен за любую помощь.
См http://stackoverflow.com/questions/4421706/operator-overloading – Danstahr
Синтаксис является правильным для типов объектов, но не для типов указателей. Для вашего конкретного случая попробуйте '(* a) = (* b) * (* c);'. Уродливая, но еще одна причина не использовать необработанные указатели :) Скобки не являются технически необходимыми, но делают их намного легче читать. – Chad
Почему указатели? Почему не соответствующие объекты? –