Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » 8. Sonntagsrätsel: Für Anfänger

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 <
010
12.10.2002, 17:53 Uhr
fry_



@void*


Zitat:
Stehe ich jetzt auf dem Schlauch oder ist der einzige Unterschied zwischen struct und class in C++, dass in einer struct bei default alles public und in der class private ist?


... müsste hinkommen.


Zitat:
@fry_: Das verwirrt mich:


Weil das Erste, was mir in den Sinn kam war:

C++:
struct Employee {

    string name;
    string addr;
}

wegen: return (*i).addr;

Aber so
if( *i == name )
konnte ich auf diese Structur nichts zugreifen u. wusste, der
braucht auf jeden Fall ein == Operator -> also Klasse.

Wobei ich unsicher war: ob man nicht auch mit einem globalen == Otor +
struct das ganze machen könnte. Vor dem Hintergrund, dass virtual
wahrscheinlich lieber C als C++ macht(so vom Gefühl her?).
--
mit computern geht alles viel schneller
es dauert nur ein bisschen länger

Dieser Post wurde am 12.10.2002 um 18:19 Uhr von fry_ editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
12.10.2002, 18:05 Uhr
void*
Generic Pointer
(Operator)


Hallo!

Jetzt sind mir inspiriert durch fry_ doch noch zwei Sachen eingefallen:


C++:
// vermeide Kopie von l und name
const string &FindAddr(const list<Employee> &l, const string &name )
{
    // Das sollte doch 'ne Menge einsparen
    list<Employee>::const_iterator b=l.begin(), e=l.end();
    for( list<Employee>::const_iterator i = b;
         i != e;
         ++i ) // könnte sich je nach Implementation jeweils eine temp. Objekt sparen
    {
     if( *i == name )
     {
        return (*i).addr;
     }
    }
    return empty;
}



Die i habe ich mal drin gelassen, das verstösst mir zu sehr gegen meinen "guten" Programmierstil.

Gruß
void*
--
Gruß
void*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
12.10.2002, 18:05 Uhr
void*
Generic Pointer
(Operator)


Sorry, nervöser rechter Zeigefinger!
--
Gruß
void*

Dieser Post wurde am 12.10.2002 um 18:06 Uhr von void* editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
12.10.2002, 18:07 Uhr
void*
Generic Pointer
(Operator)


Hallo, fry_!

Warum kann ein struct keinen operator==() haben?

Gruß
void*
--
Gruß
void*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
12.10.2002, 18:40 Uhr
fry_



Hi void*
ne, weil es auch gehen könnte, war ich mir mit meiner Klasse unsicher. Ich hantiere eigentlich mehr mit Klassen rum u. diese globalen Operator Geschichten meide ich eher.

Zitat:

const string &FindAddr(const list<Employee> &l, const string &name )
{
// Das sollte doch 'ne Menge einsparen
list<Employee>::const_iterator b=l.begin(), e=l.end();
for( list<Employee>::const_iterator i = b;
i != e;
++i ) // könnte sich je nach Implementation jeweils eine temp. Objekt sparen
{
if( *i == name )
{

Hmm... an const_iterator hatte ich noch garnicht gedacht. Stimmt, wir verändern ja nichts. b u. e sind doch einfach nur Zeiger, denen man Adressen zuweist. Dabei passiert ja nichts temporär, weil diese Adressen ja als Referenz übergeben werden. Siehe:
const list<Employee> &l
Aber Du hast jetzt zwei Zeiger temporär erstellt. Und vorher war es nur einer!? Keine Ahnung, vielleicht stimms auch.
Also die Spannung, wegen der Auflösung, ist inzwischen zum zerreißen nah'.
--
mit computern geht alles viel schneller
es dauert nur ein bisschen länger

Dieser Post wurde am 12.10.2002 um 19:28 Uhr von fry_ editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
12.10.2002, 19:49 Uhr
void*
Generic Pointer
(Operator)


Hallo!

Ich erstelle zwar jetzt extra Iteratoren, aber bei jedem Schleifendurchgang wird list<Employee>::end() aufgerufen. Ich glaube den Iterator b können wir wieder rausschmeissen...war ein Schnellschuss.

Gruß
void*
--
Gruß
void*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
12.10.2002, 20:03 Uhr
virtual
Sexiest Bit alive
(Operator)


Jetzt ist noch nicht mal Sonntag, und ihr habts geknackt. Siehe auch dieOriginalaufgabe.

Der Abend ist noch jung, vielleicht fällt mir noch ein 9. Sonntagsrätsel ein.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
12.10.2002, 20:48 Uhr
fry_



...'ne Menge gelernt u. hat supi Spaß gemacht -> Welche fortbildende Einrichtung kann so was schon bieten.
--
mit computern geht alles viel schneller
es dauert nur ein bisschen länger
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ Rätselecke ]  


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: