Hallo,
ich habe ein Programm geschrieben mit einer haupt.cpp Datei und mehreren Klassen.
Diese Klassen sind ausgelagert als .h und .cpp dateien und in der Hauptdatei eingebunden.
Für das gesamte Programm muss ich zwei Konstanten definieren, die in allen Dateien
vorkommen.
Ich habe das über #define n 3
und #define m 2
gemacht und zwar nur in den header Dateien, da in den zugehörigen cpp Dateien die header
Dateien eingebunden sind und in der Hauptdatei alle cpp Dateien.
Der Algorithmus läuft auch und liefert das richtige Ergebnis, doch wenn ich den Wert von m
ändere, wird dieser nicht übernommen. Jedoch sollte das ja der Sinn sein, dass ich m nicht
überall ändern muss...
Gibt es bessere Möglichkeiten als #define, sodass ich die konstante an möglichst wenig Stellen
verändern muss?
Wie initialisiere ich global, wenn ich viele verschiedene header und cpp Dateien habe?
So sieht zum Beispiel die header Datei einer meiner Klassen aus, in der nur m benutzt wird...
#ifndef matrix3_H
#define matrix3_H
#define m 2
class matrix3
{
public:
double mat3[m][m];
...
};
#endif
ich habe ein Programm geschrieben mit einer haupt.cpp Datei und mehreren Klassen.
Diese Klassen sind ausgelagert als .h und .cpp dateien und in der Hauptdatei eingebunden.
Für das gesamte Programm muss ich zwei Konstanten definieren, die in allen Dateien
vorkommen.
Ich habe das über #define n 3
und #define m 2
gemacht und zwar nur in den header Dateien, da in den zugehörigen cpp Dateien die header
Dateien eingebunden sind und in der Hauptdatei alle cpp Dateien.
Der Algorithmus läuft auch und liefert das richtige Ergebnis, doch wenn ich den Wert von m
ändere, wird dieser nicht übernommen. Jedoch sollte das ja der Sinn sein, dass ich m nicht
überall ändern muss...
Gibt es bessere Möglichkeiten als #define, sodass ich die konstante an möglichst wenig Stellen
verändern muss?
Wie initialisiere ich global, wenn ich viele verschiedene header und cpp Dateien habe?
So sieht zum Beispiel die header Datei einer meiner Klassen aus, in der nur m benutzt wird...
#ifndef matrix3_H
#define matrix3_H
#define m 2
class matrix3
{
public:
double mat3[m][m];
...
};
#endif