Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Instanzen

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 <
000
20.05.2005, 18:17 Uhr
~IBOT
Gast


Hi Leute,
ich habe eine generelle frage und zwar bin ich der meinung gesehen zu haben das man eine Instanz von einer Klasse erzeugen kann und von anderen Objekten auf die Instanz zugreifen kann ungefaähr so klass::aktuelleInstanz.test(). Lieg ich da falsch oder geht das, wenn wie? Wäre für mich für ne errorKlasse sehr wichtig!
Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.05.2005, 20:33 Uhr
0xdeadbeef
Gott
(Operator)


Wenn du die singleton pattern meinst, das geht so:

C++:
class singleton {
public:
  static singleton &instance() {
    static singleton me;
    return me;
  }

  void do_something() const { std::cout << "Hello, World!" << std::endl; }

private:
  singleton() { }
  singleton(singleton const &) { }
};

// ...

singleton::instance().do_something();



Bearbeitung von 0xdeadbeef:

Code korrigiert, siehe unten.


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 20.05.2005 um 22:37 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.05.2005, 21:28 Uhr
virtual
Sexiest Bit alive
(Operator)


@Beefy
Das Singletion pattern geht so nicht. Eine klasse wird nicht zum Singleton, indem man den Defaultctor versteckt:

C++:
singleton s2 = singleton::instance();


Sollte Problemlos durch den Compiler gehen.
Du musst auch den Coypctor verstecken.
--
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
003
20.05.2005, 22:37 Uhr
0xdeadbeef
Gott
(Operator)


Ääh..ja, klar. Ich besser das grad mal aus.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.05.2005, 13:13 Uhr
~iBOT
Gast


Vielen dank für eure Antwort. Genau das meinte ich. Funzt auch ohne Probleme aber da ich C++ über learning by doing gelernt habe fehlen mir gelegentlich gewisse Grundkenntnisse ( wird aber immer weniger) könntet ihr mir deshalb mal bitte genau den Code erklären bzw wieso das so funktioniert! Also den mechanismus ?? Wo liegt die klasse z.B im Speicher was genau bedeutet static (hab ich noch nie beraucht) Vielen dank für euere Mühe!

C++:
static singleton &instance() {
    static singleton me;
    return me;
  }

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
24.05.2005, 13:53 Uhr
virtual
Sexiest Bit alive
(Operator)


RTFFAQ: www.fun-soft.de/showtopic.php?threadid=6449
--
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
006
24.05.2005, 15:47 Uhr
~iBOT
Gast


Vielen Dank. Da hätte ich ja auch selber mal besser suchen können!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
26.05.2005, 10:23 Uhr
~DP
Gast


den Assignment operator sollte man dann auch besser private machen ...
*nörgel*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
26.05.2005, 10:47 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

den Assignment operator sollte man dann auch besser private machen ...


Wenn man kein zweites Objekt erstellen kann dürfte eine Zuweisung reichlich schwer fallen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
26.05.2005, 13:26 Uhr
~DP
Gast


stümmt, ist halt inzwischen ein reflex die alle drei derart abzusichern.
Imho aber kein falscher.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: