Wie definiere ich const innerhalb von der Klasse
-
ich habe die Klasse:
Test{
}
und ich will anstatt von globalen Variablen:
extern int DRIVE_MASS_STORAGE_TYPE=2;
eine const int DRIVE_MASS_STORAGE_TYPE; haben
Wie kann ich die innerhalb eine Klasse definieren?
Man kann die glaube ich mit :
Test:(DRIVE_MASS_STORAGE_TYPE = 2){} definieren.Bräuchte mehr Information wie es geht?
-
Machs doch so:
class Test { static const int DRIVE_MASS_STORAGE_TYPE = 2; };
-
class Test { const int a; public: Test(int b) : a(b) {} };
Damit wird a direkt mit dem Wert von b initialisiert, falls du das gemeint hast.
-
und welcher bedeutung hat static in deisem Fall?
-
static heißt, dass jede Instanz einer Klasse bei Zugriff auf diese Variable auf den selben Speicherplatz zeigt. Wenn du willst, ist das auch eine Art von globaler Variable, aber im Namensraum der Klasse gekapselt. Diese Kapselung hat den Vorteil, dass du in unterschiedlichen Klassen den gleichen statischen Variablennamen verwenden kannst, ohne dass es zu Konflikten kommt.
-
danke für eure Hilfe
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum C++ (auch C++0x, bzw. C++11) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.