czyszczenie tablicy wskaznikow

0

czes, jak wyczyscic tablice wskaznikow na np obiekt

mam klase a, w ktorej jest konstruktor i destruktor

tworze tablice 2 wskaznikow

A *a[2];
a[0] = new A;
a[1] = new A;

i jak to potem czyscic, forem?
bo gdy dam

 delete [] a 

to konstruktory sie nie wywolajca.

ale gdy dam

delete a[0];
delete a[1];  

to juz tak.

0

A czemu nie zrobisz:

A *a = new A[2];
// costam costam
delete [] a; 
0
class My {
    public:
        My() { cout << "Wywolano konstruktor\r\n"; }
        ~My() { cout << "Wywolano destruktor\r\n"; }
};

int main()
{
    My* tab[2];
    tab[0] = new My;
    tab[1] = new My;

    for(int i = 0; i < 2; ++i)
        delete tab[i];

    cout << "\r\n";

    My* tab2 = new My[2];
    delete [] tab2;

    return 0;
}
0

czyliu teraz stworzylem wskaznik na tablice obiektow?
no dobra, ale w wypadku posiadania tablicy wskaznikow, czyscic ja forem?

0

stworzyłeś tablicę statyczną dynamicznych obiektów. wygląda na to, że destruktor w takiej sytuacji się nie wywoła, więc trzeba by forem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1