Zdravim.
Chcel by som sa spytat ohladom explicitneho operatora priradenia v C++.
Bud nechapem jednej veci, alebo v ucebnici C++ maju chybu.
Majme nejaku triedu a v tejto tiede nech aspon 1 jej datova polozka je smernik na nejaky typ, t. j. pre tuto triedu je potrebne definovat (okrem ineho) operator priradenia. Jeho sucastou je najprv uvolnenie pamate pre dynamicky alokovanu polozku triedy (objektu do ktoreho sa priradzuje iny existujuci objekt) a az potom sa dynamicky prideli miesto podla polozky, ktora sa ma priradit z objektu na pravej strane priradenia. To je logicke.
Avsak ak nepouzijeme jednoduchu triedu, ale dedicnost tried, tak mi nejde do hlavy, ze v explicitne definovanom operatore priradenia pre ODVODENU triedu sa uz pamat po prepisovanych dynamicky alokovanych polozkach neuvolnuje, rovno sa vola operator priradenia zakladnej triedy a dalej sa priradi do novych poloziek odvodenej triedy. Preco to pri dedicnosti nie je potrebne?
Dakujem za odpoved.
|