Portál AbcLinuxu, 9. května 2025 23:22
class A { public: A() { ... } ~A() { ... } ... };Z urcityho duvodu (interakce s knihovnou v C) ale nemuzu jeji instanci vytvorit pomoci new, ale pamet musim alokovat pres malloc. Je mozne potom nejak zavolat konstruktor a destruktor ?
A *a = (A *) malloc(sizeof(A)); // nejak zavolat konstruktor na *a ... // nejak zavolat destruktor na *a free(a)Chtel bych navic zabranit volani kopirovaciho konstruktoru nebo operatoru prirazeni. Jo a navic nemuzu tride A pridat zadnou metodu... Je neco takovyho vubec mozny ??? Diky.
new
a delete
.
A *a = (A *) malloc(sizeof(A)); a = new(a) A(); ... a->~A(); free(a);
*a = A();protoze C++ by zavolalo 'operator =' u neinicializovaneho objektu. Problem je uz vyresen, ale diky za snahu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.