Der Code, den Sie zeigen, wird ausdrücklich auf die Basisklasse Zuordnung aufrufen, das heißt nur die Basisklasse Teile der QStyleOptionButton
zugewiesen bekommen, nicht aber die Membervariablen des Objekts.
Es ergibt sich aus der Dokumentation, dass kein operator=
für QStyleOptionButton
deklariert wird, so dass, wenn man die übliche Zuordnung auf ein solches Objekt nennen würde, versuchen würde der Compiler einen solchen Operator zu erzeugen, der Zuordnung jeder Basisklasse subobject aus und jede Mitgliedsvariable.
Ein solcher generierter Operator kann oder kann nicht kompilieren, abhängig davon, ob alle Member und Basisklassen kopierbar sind. In solchen Fällen ist es üblich, den Operator manuell zu definieren, um die Zuweisung korrekt durchzuführen, wenn die Klasse überhaupt kopierbar sein soll.
Der wahrscheinliche Grund, die Basisklassenzuweisung explizit aufzurufen, besteht jedoch darin, dass nur die Basisklassenbestandteile kopiert werden müssen, während die anderen Klassenmitglieder nicht geändert werden sollten. Dies ist also keine "echte Zuweisung" semantischer Sinn.
Dies ist eine gute Antwort, obwohl die angenommene Antwort korrekt ist, erklärt diese Antwort das Warum. –