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

1

01.06.2003, 11:45

statische Klasse tbDirect3D

?Hi,

im Buch ist tbDirect3D eine statische Klasse. Wenn man von ihr eine Instanz erstelllte, könnte man doch dann auf keine der Methoden oder Membervariablen zugreifen, weil das nur mit tbDirect3D::Methode() funktioniert. Aber auf Seite 292 wird mit g_pDirect3D = new tbDirect3D eine Instanz dieser Klasse auf dem Heap erstellt und mit dem "->"-Operator auf eine statische Methode zugegriffen :rolleyes: :ohoh: ?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

01.06.2003, 12:17

Ja, das ist ein Fehler. Steht aber glaube ich auch in der Errata-Sektion... es lässt sich aber kompilieren. Theoretisch ginge auch folgendes:

Quellcode

1
2
tbDirect3D* pD3D;
pD3D->Methode();


Ein simpler Zeiger reicht, man muss garkeine Instanz mit new erstellen, da ja alles statisch ist. In der zweiten Auflage werden Singletons verwendet, das ist besser.

Shark_3D

Treue Seele

Beiträge: 311

Wohnort: Hannover

Beruf: Schüler

  • Private Nachricht senden

3

01.06.2003, 12:21

^Ja ich weis es jetzt auch ;D
"Immer die doppelte Menge"
(Kaufmannsregel Nr.355 von der Lehrkassette 3)

Werbeanzeige