default parameter classe wie?
-
hab ein problem mit der erstellung einer classe.
im konstruktor soll ein default-parameter eingegeben werden dieser is vom typ her eine classe//myclass.h class Myclasse{ public: int test; int test2; Myclasse(int tes,int tes2); };//myclass.cpp #include "Myclasse.h" Myclasse::Myclasse(int tes,int tes2):test(tes),test2(tes2){}//myclass2.h #include "Myclasse.h" class Myclasse2{ int add; Myclasse2(my = new Myclasse(10,10)); };//myclass2.cpp #include "Myclasse2.h" Myclasse2::Myclasse2(my = new Myclasse(10,10)):add(Myclasse.test+Myclasse.test2){delete my;}fehler meldung:
1 ..\Myclasse2.cpp In file included from Myclasse2.cpp
4 ..\Myclasse2.h expected)' before '=' token 2 ..\\Myclasse2.cpp expected)' before '=' token
2 ..\Myclasse2.cpp expected,' or;' before '=' tokenich hab es auch mal anders versucht
#include "Myclasse.h" class Myclasse2{ int add; Myclasse2(Myclasse my (10,10)); };#include "Myclasse2.h" Myclasse2::Myclasse2(Myclasse my): add(Myclasse.test+Myclasse.test2) {}fehlermeldung;
1 ..\Myclasse2.cpp In file included from Myclasse2.cpp
4 ..\Myclasse2.h expected,' or...' before '(' token
..\Myclasse2.cpp In constructor `Myclasse2::Myclasse2(Myclasse)':
3 ..\Myclasse2.cpp expected primary-expression before '.' token
3 ..\Myclasse2.cpp expected primary-expression before '.' token
-
class foo { public: foo(std::size_t i = 0) : i(i) {} // Default-Value = 0 public: std::size_t const& get() const { return i; } private: std::size_t i; }; class bar : public foo { public: bar(foo* ptr) : foo(ptr->get()) { } bar(std::size_t i) : foo(i) {} };also geht alles ^^ Initialisierungsliste ist das was du suchst ...
-
class my1 { public: int t1; int t2; my1(int tt1, int tt2):t1(tt1),t2(tt2){} }; class my2 { public: int t12; my2(my1 *m=new my1(1,2)):t12(m->t1+m->t2){/*Edit:*/ delete m;} }; int main() { my2 *m2; m2 = new my2(); printf("%i", m2->t12); }geht doch 1a
-
What the *beep*?
Wieso die ganzen Zeiger?
class my1 { public: int t1; int t2; my1(int tt1, int tt2) : t1(tt1), t2(tt2) { } }; class my2 { public: int t12; my2(my1 const& m = my1(1, 2)) : t12(m.t1 + m.t2) { } }; int main() { my2 m2; std::cout << m2.t12 << std::endl; }
-
ok es klappt
thx an alle
-
jo sry ist mein stil arbeite immer so, ist auch nur nen beispiel habe ehh nen eigenes system für meine speicherverwaltung daher steckt schon so in mir drinnen
