static class member variablen
-
Ich benötige einige Variablen aus einer Basisklasse, die dann an alle abgeleiteten Klassen weitergegeben werden. das sieht folgendermaßen aus: (das hier is nur eine extrem gekürzte version des eiegntlichen programmes, aber es erzeugt den selberen Fehler auf dieselbe Art):
#include<iostream.h> class basis { public: void Seta(int i){a=i;}; void printa(){cout<<a<<endl;}; static int a; //hier sitzt das Problem im "static" keyword }; class test : public basis { int ahoch3(){return a*a*a;} }; void main() { test a,b,c; a.Seta(10); a.printa(); a.printa(); //hier sollte jetzt "10" ausgegeben werden b.printa(); //und hier auch c.printa(); //und hier auch }
wie man sieht versuche ich den Wert durch eine static variable weiterzugeben, jedoch kriege ich dann immer Fehlermeldungen durch unaufgelöste externe symbole o.ä. wie kann ich das umgehen?
-
Du musst deine statische Variable noch außerhalb irgendwo definieren, so wie du es mit Methoden der Klasse auch machst.
-
Hallo,
ein Blick in unsere FAQ hilft:
http://www.c-plusplus.net/forum/viewtopic.php?t=39471
-
k, danke