class MyClass; int main() { float a = 5; MyClass c1; MyClass c2 = a*c1; MyClass c3 = c1*a; }
How can I overload the multiplication operator so that operations a * c1 and c1 * a are performed?
Same:
MyClass operator* (float x, const MyClass& y) { //... } MyClass operator* (const MyClass& y, float x) { //... }
The second can also be a member function:
class MyClass { //... MyClass operator* (float x); };
The first 2 options work like ads outside the class.