autoptr in stl container?
-
Hallo Leute,
gibts ne möglichkeit autoptr von objekten in nem container zu speichern wohl nich oder...
oder wie könnte ich erzwingen, das Klasse A nur über die funktion von klasse B erzeugt werden darf?
bspw.
B obj; obj.add(new A()); //soll gehen A* p = new A(); //soll nich gehen
-
class A; class B{ private: B (){} friend A; }; class A{ public: B* getB (){ return new B (); } };int main (){ A a; B n; //Geht nicht B* b = a.getB (); //Geht }
-
Konstruktoren (Default und Copy) von A private machen, B als friend und B eine Methode verpassen, in der ein A erstellt wird.
BorisDieKlinge schrieb:
gibts ne möglichkeit autoptr von objekten in nem container zu speichern wohl nich oder...
std::vector< boost::shared_ptr<Z> > cont;?