Wie retourniere ich eine liste ?
-
??? sowas funzt nicht std::list<class obj* > GetObj(){ return m_obj;};
wie geht das genau?hab keine ahnung? thx
-
Hallo,
Ich musste erstmal überlegen was retournieren ist. Man man gg.
Öhm ja ne Liste kannst du einfach zurück geben wie nen buildin.
Wenn die Liste die du zurückgibst Member der Klasse ist die sie zurückgibt, kannst du auch ne Referenz oder ne const Referenz zurückgeben.
Oder du gibst die Liste garnicht zurück sondern gibst der Methode einen Parameter mehr, der dann eine Reneferenz auf eine Liste ist und arbeitest damit.std::list<int> foo(void){ return std::list<int>(); } std::list<int> &SomeClass::foo(void){ return mList; //member } void Bar(std::list<int> &ref){ //tu was mit ref }
-
mm?? irgendwie will das noch nicht ich werd mal konkreter
ich hab eine klasse a und dort eine liste die ich auch der klasse B geben will doch wie mach ich das am besten?B soll auch schreibend drauf zugreifen können!
class A{
list<C*>m_b;
}class B{
list<C*>m_b;
}
-
Hallo,
ist das jetzt das gleiche Problem? Hört sich nach einem Designproblem an. Denn das widerspricht ja erstmal so dem Prinzip der Kapselung. Was haben die beiden Klassen miteinander zu tun? Ansonsten muss die Klasse A ein Teil von B sein, oder ist ein A auch ein B?