001
06.04.2005, 22:57 Uhr
Frodenius
|
wieso ist denn da eine struct in der klasse??? um zwei variablen einer klasse auszugeben würd ich das so machen:
C++: |
// header test.hpp #ifndef _test #define _test
class Test { public: Test(int a1, int b1): a(a1), b(b1) {} // konstruktor mit initialisierung ~Test(){} // destruktor tut nichts // zugriffsfunktionen int getA() { return a; } void setA(int a1) { a = a1; } int getB() { return b; } void setB(int b1) { b = b1; } private: int a; int b; }; #endif
// Programm main.cpp #include <iostream> #include "test.hpp"
int main() { Test hallo(2,3); std::cout << hallo.getA() << std::endl; std::cout << hallo.getB() << std::endl; return 0; }
|
aber wenn du eine klasse in der klasse haben willst, dann musst du die 2.klasse außerhaöb definieren:
C++: |
// header test.hpp #ifndef _test #define _test
class Schluckauf { public: Schluckauf(int ia, int ib): a(ia), b(ib) {} ~Schluckauf() int getA() {return a;} void setA(int ia) {a = ia;} int getB() {return b;} void setB(int ib) {b = ib} private: int a; int b; };
class Test { public: Test(int a1, int b1): meinSchluckauf(a1, b1) {} // konstruktor mit initialisierung ~Test(){} // destruktor tut nichts // zugriffsfunktionen int getA() { return meinSchluckauf.getA(); } void setA(int a1) { meinSchluckauf.setA(a1) } int getB() { return meinSchluckauf.getB(); } void setB(int b1) { meinSchluckauf.setB(b1); } private: Schluckauf meinSchluckauf; };
#endif
//////////// main.cpp wird nicht geändert!!
|
tolle sache sowas...nich?? -- NI! ...and thanks for all the fish! |