brauche kleinen tipp zu default-konstr.
-
hi,
brauche kleinen tipp zu folgendem problem:// in header file A.h: class A { public: A(int a=5); }; // in cpp file A.cpp A::A(int):m_a(a) { // hier noch irgendwas } int main(int argc, char *argv[]) { A test; return 0; }
-
Ich will der Klasse A durch angabe von default-werten fuer die konstruktorparameter gleichzeitig auch schon den default-konstruktor ausimplementieren ohne die implementierung im header selbst machen zu muessen
(in den (schlechten) buechern die ich habe ist leider ein beispiel immer im header gleich vorort ausimplementiert) -
Ich will in main den default-konstruktor aufrufen. In der Datei A.cpp habe ich dem konstruktorparameter keinen default-wert zugewiesen (ist das richtig so?)
jedenfalls ist obiges syntaktisch nicht ganz korrekt und ich braeuchte einen tipp, wie es richtiger waere.
danke,gruss
-
-
// in header file A.h: class A { [b]int m_a;[/b] public: A(int a=5); }; // in cpp file A.cpp A::A(int [b]a[/b]):m_a(a) { // hier noch irgendwas } int main(int argc, char *argv[]) { A test; return 0; }
-
danke fuer den tipp, dein beispiel geht.
jedoch muss ich noch zusaetzlich anmerken, dass es sich bei mir
um eine template-klasse handelt. hatte ich vergessen anzumerken.in dem letzten geposteten loesungscode muessten dann noch templates wie
template<class DATATYPE> class A ....
eingefuegt werden.
da kriege ich beim code der als loesung gepostet wurde ne linker-fehlermeldung.
bezueglich des konstruktor-aufrufs in main.woran liegt das??
-
muck schrieb:
danke fuer den tipp, dein beispiel geht.
jedoch muss ich noch zusaetzlich anmerken, dass es sich bei mir
um eine template-klasse handelt. hatte ich vergessen anzumerken.template<class T> class A { T m_t; public: A(T t); }; // in cpp file A.cpp template<class T> A<T>::A(T t):m_t(t) { // hier noch irgendwas }
da kriege ich beim code der als loesung gepostet wurde ne linker-fehlermeldung.
bezueglich des konstruktor-aufrufs in main.woran liegt das??
guck mal hier nach:
http://c-plusplus.net/forum/viewtopic.php?t=96723mfg
-
vielen vielen dank fuer das detailwissen.
es geht alles.gruss