Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

06.08.2009, 17:41

nein und ich hab echt lange nicht mehr programmiert danke :lol:
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

Iljaronaldo

Treue Seele

Beiträge: 99

Wohnort: Hadamar

Beruf: Schüler[9.Klasse Realschule]

  • Private Nachricht senden

12

06.08.2009, 17:51

Zitat von »"Flonk"«

also wird der konstruktor automatisch aufgerufen ? :?

Ja, sobald du die Get Methode aufrufst;)
Da du ja genau das machst wird eine Instanz erzeugt, also der Konstruktor aufgerufen und als nächstes dann die Statusmeldung Funktion.
Dann wird die Del methode aufgerufen und somit der Destruktor aufgerufen.

Habe das Buch selbst und eben das Kapitel wiederholt, weil das Thema bei mir ncoh nciht so saß.
tutti colpevole, nessuno colpevole. - Wenn einer Schuld ist, sind Alle Schuld.
Die Mafia ist wie ein Staat. Sie mordet nicht, Sie richtet hin.

Wenn man zwei Stunden lang mit einem Mädchen zusammensitzt, meint man, es wäre eine Minute. Sitzt man jedoch eine Minute auf einem heißen Ofen, meint man, es wären zwei Stunden. Das ist Relativität. (Albert Einstein)

Mein System

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

13

06.08.2009, 18:20

Zitat von »"Jonathan_Klein"«

Da ist aber noch wichtig zu erwähnen, dass der Konstruktor privat ist und es damit wirklich nur ein Objekt geben kann.


liest du mal das kommentar im code bei mir? ;)

14

06.08.2009, 19:54

mich hatte nur verwirrt das ich auf eine methode einer Klasse ohne Instanz zugreifen kann
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

15

07.08.2009, 11:06

jup das geht mit statischen methoden die erlauben das. daher auch das static davor^^

16

11.08.2009, 16:56

aso naja ich hab jetzt mal den code eingegeben und kriege erstmal nen haufen compilerfehler so ungefähr weiß ich auch woran sie liegen hab aber keine idee wie ich sie beseitigen soll:
1. in listing 8.7 wird die Abgeleitete Klasse CLogfile erzeugt und als Template typ in der selben Zeile eingesetzt

C-/C++-Quelltext

1
 class CLogfile : public TSingleton<CLogfile>

er beschwert sich darüber das er CLogfile noch nicht kennt
2. Eine menge weiterer ich hoffe größtenteils Folgefehler insgesamt sagt mir der compiler

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1>------ Erstellen gestartet: Projekt: Singletons, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>Main.cpp
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(4) : error C2065: 'Clogfile': nichtdeklarierter Bezeichner
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(5) : error C2955: "TSingleton": Für die Verwendung der template-Klasse ist eine template-Argumentliste erforderlich.
1>        c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\singleton.hpp(6): Siehe Deklaration von 'TSingleton'
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(10) : error C2512: 'TSingleton': Kein geeigneter Standardkonstruktor verfügbar
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(12) : error C2065: 'cout': nichtdeklarierter Bezeichner
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(12) : error C2065: 'endl': nichtdeklarierter Bezeichner
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(18) : error C2662: 'TSingleton<T>::~TSingleton': this-Zeiger kann nicht von 'TSingleton' in 'TSingleton<T> &' konvertiert werden
1>        Ursache: Konvertierung von 'TSingleton' in 'TSingleton<T>' nicht möglich
1>        Konvertierung erfordert einen zweiten benutzerdefinierten Konvertierungsoperator oder Konstruktor
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(19) : error C2065: 'cout': nichtdeklarierter Bezeichner
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(19) : error C2065: 'endl': nichtdeklarierter Bezeichner
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(25) : error C2065: 'cout': nichtdeklarierter Bezeichner
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(25) : error C2065: 'endl': nichtdeklarierter Bezeichner
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(31) : error C2653: 'Clogfile': Keine Klasse oder Namespace
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(31) : error C2227: Links von "->Statusmeldung" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
1>        Typ ist ''unknown-type''
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(31) : error C3861: "Get": Bezeichner wurde nicht gefunden.
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(38) : error C2653: 'Clogfile': Keine Klasse oder Namespace
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(38) : error C3861: "Del": Bezeichner wurde nicht gefunden.
1>Das Buildprotokoll wurde unter "file://c:\Users\Flonk\Documents\Visual Studio 2008\Projects\Singletons\Singletons\Debug\BuildLog.htm" gespeichert.
1>Singletons - 15 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

17

12.08.2009, 00:28

Quellcode

1
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(4) : error C2065: 'Clogfile': nichtdeklarierter Bezeichner
Tippfehler. Groß- und Kleinschreibung beachten.

Quellcode

1
2
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(12) : error C2065: 'cout': nichtdeklarierter Bezeichner
1>c:\users\flonk\documents\visual studio 2008\projects\singletons\singletons\main.cpp(12) : error C2065: 'endl': nichtdeklarierter Bezeichner

C-/C++-Quelltext

1
#include <iostream>
(und evtl. "using namespace" bzw. "std::"?)vergessen

Ansonsten wäre mehr Code hilfreich. (main.cpp)

18

12.08.2009, 11:28

Danke es waren nur Groß/klein fehler und std:: ich überseh wirklich dauernd die einfachsten sachen
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

Werbeanzeige