2010-05-16 18 views
6

Angenommen Überlastung in typedef I eine ganze Zahl oder Integer-Array oder einem beliebigen bekannten Typ:typedef und Operator C++

typedef int int2 

Dann überlasten I operator * für INT2 Paare, wenn ich nun Variablen a und b wie int initialisieren. Dann wird mein * zwischen a und b überladen *?

Wie erreiche ich das Überladen eines int und verwende auch * für int so wie sie sind. Soll ich einen neuen Typ erstellen?

+0

Vielleicht eine Aufzählung verwenden, anstatt einen int? Sie können benutzerdefinierte Operatoren für Aufzählungen definieren. – supercat

Antwort

5

C erlaubt keine Überlastung des Bedieners.

9

Angenommen, Sie sprechen über C++:
Operatorüberladungen müssen mindestens ein Argument vom benutzerdefinierten Typ annehmen. Die typedef ändert nichts, da es keinen neuen Typ einführt und nur ein Synonym bereitstellt.