C++ Tutorial #8 - Operatoren überladen

preview_player
Показать описание
In diesem Tutorial schauen wir uns an, wie man Operatoren überlädt.

* *Meine Website mit allen anderen Kanälen und Newsletter* *:

_Discord:_

_Unterstützt mich - Danke!:_
Рекомендации по теме
Комментарии
Автор

Ich: *Lernt C++ als erste Sprache während nem Praktikum*
Auch ich: *Kommt an den Punkt, an dem ein Operator überladen werden muss*
... Und ich bin ganz ehrlich, ohne dich wäre ich gerade hoffnungslos überfordert gewesen :D
<3 Danke dir.

Majorweck
Автор

gefühlt 100 Stunden Vorlesung = fast nichts verstanden
09:19 Min Video = leuchtet ein ohne weitere Fragen

Danke man!

LINKINPARK
Автор

Morpheus, jetzt mal ganz unter uns, du machst mir täglich Bock auf C++, Python & JS und ich code Java & PHP, das ist doch zeitlich nicht zu händeln :D

fabi
Автор

Kleiner Tipp für alle die mit Pointern wenig anfangen können:

Kein Call by Value bei Überladungen von Operatoren (der Compiler pusht jedes mal die Variable als Kopie auf den Stack um dann mit einer Kopie zu rechnen anstatt direkt den Vektor zu nehmen und erstellt dann zusätzlich einen weiteren Vektor auf dem Stack zum returnen -> unnötige Operationen = Performanceverlust.

Besser:
Man kann die Referenz auch mit & übergeben.
Vorteil: 1) leichter zu lesen 2) die Referenz kann nicht einen neuen Wert annehmen, der Pointer schon 3) kein '->' sondern '.'

Vektor operator + (const Vektor& b) { return Vektor(x + b.x, y + b.y, z + b.x); }

emailgames
Автор

Is ja mal krass :O Man kann einfach seine eigenen Operatoren zuweisen!! ^^

sesamtoast
Автор

Danke man :) habe morgen Prüfung und dein Video hat geholfen ;)

MeistrosLabor
Автор

Hallo ich hätte eine Frage:
in Zeile 8 haben wir den Konstruktor mit den Variablen a, b und c. Kann mir jemand erklären was ":x(a), y(b), z(b)" bewirkt und wieso das Programm "versteht", dass bei dem cout in Zeile 10 die Variablen x, y, z genutzt werden obwohl wir im Konstruktor doch a, b, c stehen haben?
LG George

saintgeorge
Автор

kann mir jemand erklären warum es denn für c++ selbstverständlich ist, dass bei b.x, b.y und b.z es sich hier um den Vektor numberOf911 handelt..? ich hab den zusammenhang hier nicht so ganz verstanden.

gokusama
Автор

Super Tutorial, hätte mich gefreut, wenn du noch Typumwandlung dazu gezeigt hättest

das_evoli
Автор

Müsste das nicht Überschreiben von Operatoren sein? 🤔
Weil beim Überladen kann ich ja auf mehrere Implementierungen einer Methode zugreifen, aber hier gibt es ja nur eine ...

felixschwarz
Автор

Hallo! Ich habe eine folgende Methode { Bauelement * Reihenschaltung(Bauelement *Widerstand) } // Bauelement ist der Klassenname. Ich habe als private Attribute double Wert, string Hersteller und char typ. Ich soll aber den Gesamtwiderstand in Reihe ermitteln. Wie kann ich diese Methode implementieren?

lydiaewande
Автор

wann benötigt man dies im alltag außerhalb von vektoren rechnungen ?

patrickFREE.
Автор

Moin Tutor sag mall kann die operatorüberlaudung nur 2 Argumente enthalten ? oder ist sind auch mehr möglich??


wenn ich 2 vektoren addiere dann klappt das sobal ich einen dritten in die überladungsfunktion gebe wir es rot markiert

juliam
Автор

Mein Informatikleher wird sich freuen, wenn ich bei der nächsten Projektarbeit alle Operatoren überlade und aus + - machen oder == zu !=

universallappen