C ++ mit Operator int () anstelle von Operator +

8

Ich versuche zu verstehen, warum die operator int() anstelle der definierten operator+

aufgerufen wird %Vor%

Meine Ausgabe ist:

%Vor%     
Netap 28.07.2016, 06:47
quelle

1 Antwort

9

Ihr Ausdruck D(1)+D(2) betrifft temporäre Objekte. Sie müssen also Ihre Signatur von operator+ auf const-ref

setzen %Vor%

Es druckt:

%Vor%

operator int wird aufgerufen, während die richtige Überladung für das Ausdrucken in cout gefunden wird.

    
Arunmu 28.07.2016, 06:57
quelle

Tags und Links