Könnte mir jemand sagen, warum in diesem Fall der Konstruktor und der Destruktor vom Programm verwendet wird?Reihenfolge des Konstruktors und des Kopierkonstruktors
#include <iostream>
#include <iomanip>
using namespace std;
class Object
{
public:
Object(){}
Object(const Object &kk) {cout<<"kk"<<endl;}
bool operator==(Object c)
{
cout<<"o=="<<endl; return false;
}
~Object()
{
cout<<"des"<<endl;
}
};
int main()
{
Object o1,o2;
bool result;
result = (o1==o2);
}
Das Ergebnis ist:
kk
o==
des
Vielen Dank im Voraus für die Antwort.
Sie sollten drei 'des' haben. Ist das die gesamte Ausgabe? –
http://coliru.stacked-crooked.com/a/cda48c84215619dc –
Ja, es gibt 3 des. Habe gerade dieses 1. Lightness Races in Orbit geschrieben, hat meine Frage bereits beantwortet und ich habe mich selbst daran erinnert, warum es so ist. – FilOle