Frage zu Überladen von Operatoren mit Strukturen
-
Hi,
ich hab schon gesucht, aber irgendwie wird nirgendwo erklärt, wie man Operatoren mit Hilfe von Strukturen überladt, die Beispiele funktionieren ausschlieslich mit Klassen.
Es wird zwar immer geschrieben, dass das analog zu den Strukturen funktioniert, aber irgendwie versteh ich es nicht. Denn bei Strukturen habe ich doch keine Memberfunktionen, wo das Überladen stattfinden würde.Wäre super wenn mir das jemand erklären könnte

Danke schon mal fürs Threadlesen...
-
Zeig uns doch einfach mal, was du machen willst, bzw was du schon gemacht hast und wo du gesucht hast und stell spezfisch auf ein Problem deine Frage, so können wir dir vielleicht äquvivalente Lösungen geben

-
Ich möchte (bzw soll in einer Uniaufgabe) ne Struktur Zeit erstellen, die drei ints hat: stunden, minuten, sekunden.
Und dann soll ich die Operaten + und - so überladen, dass ich mit der Struktur sinnvolle Zeitrechnen anstellen kann. Also 3 Stunden - 45 Minuten = 2 Stunden 15 Minuten.
-
-
Du kannst Strukturen genauso Methoden verpassen wie Klassen. Der einzige Unterschied zwischen struct und class ist die default-Sichtbarkeit.
-
Im Magazin gibts einen Artikel zur Operatorüberladung - dem kannst du entnehmen das operator+ und operator- meistens eh als freie Funktionen überladen werden.
-
-
Irgendwie raff ich das immernoch nicht. Ein Codebeispiel mit ner Struktur würde mir wesentlich weiterhelfen.
-
Lies doch, was man Dir schreibt!
class irgendwas
{
...
}ist das gleiche wie
struct nochirgendwas
{
...
}mit einem einzigen Unterschied: in der ersten Klasse sind alle Elemente ohne andere Deklaration private, in der zweiten sind alle Elemente ohne weitere Deklaration public.
In beiden kannst Du Memberfunktionen deklarieren/definieren und dementsprechend auch Operatoren überladen.