AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[C++] Global operator overloading

Ein Thema von Olli · begonnen am 20. Jul 2005 · letzter Beitrag vom 21. Jul 2005
Antwort Antwort
Olli
(Gast)

n/a Beiträge
 
#1

[C++] Global operator overloading

  Alt 20. Jul 2005, 14:19
Moin,

eine kurze Frage bevor ich sinnlos Zeit mit Probieren verschwende. Kann ich einen Operator für die Typkonvertierung (in meinem Beispiel eine eigene Punktklasse in eine fremde und umgekehrt) innerhalb einer fremden Header-Datei deklarieren? Die also zwar die Namen der Klassen, nicht jedoch deren Definition kennt?!

Um exakt zu sein, läuft diese Frage darauf hinaus, ob ein Operator zur Typkonvertierung auch innerhalb von :: deklariert werden kann oder nur im Scope der jeweiligen Klasse von der aus konvertiert wird.
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#2

Re: [C++] Global operator overloading

  Alt 20. Jul 2005, 18:23
Eigentlich müsste's schon ein
Code:
CPunktA operator=(CPunktA operand1, CPunktB operand2)
{
  // type conversion goes here
}
tun.
Sieht aber imho hässlich aus und in einem Header erst recht.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#3

Re: [C++] Global operator overloading

  Alt 20. Jul 2005, 18:30
Zitat von tommie-lie:
Code:
CPunktA operator=(CPunktA operand1, CPunktB operand2)
Häh? ... was hast du denn für komische Typecast-Operatoren? Bei mir ist das ein Assignment-Operator ...

Was ich meinte, war zB sowas wie der Operator LPCTSTR von CString aus den MFC.
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#4

Re: [C++] Global operator overloading

  Alt 20. Jul 2005, 18:59
Zitat von Olli:
was hast du denn für komische Typecast-Operatoren?
Ich dachte an etwas wie
Code:
CPunktA a;
CPunktB b;

// get b from somehwere
a = b;
// do something with a now
Aber ich merke gerade, daß bei obigem Code (syntaktisch korrigiert versteht sich ) mein gcc meckert, er will laut Fehlermeldung Zuweisungsoperatoren immer als Methode haben.

Für das Überschreiben des Typecast-Operators weiß ich nichts, außer eben deine eigene Punkt-Klasse erweitern. Oder den Compiler umschreiben, *_cast<> wird ja auch irgendwo implementiert sein
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#5

Re: [C++] Global operator overloading

  Alt 21. Jul 2005, 12:38
Zitat von tommie-lie:
Oder den Compiler umschreiben, *_cast<> wird ja auch irgendwo implementiert sein
Nee nee nee ... ich werfe doch nicht den Disassembler an um VC zu patchen ...

Dazu gibt's ja gerade Typecast-Operatoren um sowas zu überschreiben.

Naja, die Frage hätte ich mir sparen können. Fast 24h und noch keine (zielführende!) Antwort, da probier ich es halt selber aus. Da kommen bei mir schon nur max. 5 Fragen auf 500 Posts ... und dann ist immernoch Pumpe :-\
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#6

Re: [C++] Global operator overloading

  Alt 21. Jul 2005, 12:45
Dann solltest du diese Frage vllt mal in einem "C++" Board posten
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#7

Re: [C++] Global operator overloading

  Alt 21. Jul 2005, 12:56
Zitat von barf00s:
Dann solltest du diese Frage vllt mal in einem "C++" Board posten
In C++-Foren habe ich andere Fragen schon probiert. Leider stelle ich a.) meine Fragen zu blöd, oder b.) sind meine Fragen zu spezifisch.

Ich nehme mal die Tatsache, daß ähnliche Fragen in C++-Foren bereits seit Monaten unbeantwortet schmoren, als Anhaltspunkt für Variante b ...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz