Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » operatoren überladen, aber wie?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
28.05.2006, 17:58 Uhr
xthing



Hi Leute,

kann mir jemand von euch ein einfaches Beispiel für das Überladen von Operatoren geben? Bin in C++ Anfänger, möchte mich aber in C++ einarbeiten.
Vielen Dank in voraus
xthing
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.05.2006, 18:12 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


bei mir der erste link bei google...
www.willemer.de/informatik/cpp/cppovrld.htm
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
28.05.2006, 18:24 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Zwar unsinnig aber sollte helfen, zu verstehen, wie das funktioniert:

C++:
#include <iostream>

class foo {

public:
        int foo::operator+(foo bar)
        {
                return 2;
        }
};

int main(int argc, const char* argv[])
{
        foo bla;
        foo bar;
        int blubb = bar + bla;
        std::cout << "Ergebniss: " << blubb << std::endl;
        return EXIT_SUCCESS;
}



EDIT: Wer zu spät kommt ...
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

Dieser Post wurde am 28.05.2006 um 18:25 Uhr von J-jayz-Z editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
28.05.2006, 23:05 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

EDIT: Wer zu spät kommt ...


...darf früher gehen.
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
29.05.2006, 01:00 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)



--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
29.05.2006, 01:43 Uhr
Hans
Library Walker
(Operator)


Ich frage mich gerade, ob es Sinnvoll ist, sich mit Operatorüberladung zu beschaftigen,
wenn man sich als C++ Anfänger erst noch einarbeiten muss...

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
29.05.2006, 13:18 Uhr
mischa
Fragender



aber äs hängt damit zusammen wo du bist
wenn du grad funktions aufrufe lernst dann net
aber wenn du mit oop und so anfängst dann schon
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
29.05.2006, 14:31 Uhr
(un)wissender
Niveauwart


Korrekt wäre eh sowas hier:


C++:
class foo {

public:
        foo const foo::operator+(foo const& bar) const
        {
                return foo(*this) += bar;
        }
};


--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
29.05.2006, 17:54 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Ne, korrekt war meins auch, nur eben unsinnig, sagte ich ja
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
29.05.2006, 18:41 Uhr
(un)wissender
Niveauwart


Nein, die Methode ist nicht const-korrekt.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: