Constructorii snt un tip special de funcie membru, avnd acelai nume ca i
numele clasei, nu returneaz rezultat i snt apelai automat la instanierea unei
clase, fie ea static sau dinamic. Ei au scopul de a atribui valori iniiale elementelor membri, dar pot efectua i unele operaii, cum ar fi, alocarea dinamic de memorie, deschiderea unui fiier .a. Apelul constructorului se efectueaz n momentul declarrii unui obiect. Destructorii dezactiveaz toate funciile unui obiect, l distruge i snt apelai automat la eliminarea unui obiect, la ncheierea timpului de via n cazul static, sau la apelul unui delete n cazul dinamic. De regul, destructorii snt utilizai n cazul, cnd constructorii efectueaz alocri dinamice de memorie. Destructorul are acelai nume ca i constructorul, fiind precedat de semnul ~. Destructorii obiectelor membri snt apelai, dup ce destructorul obiectului principal a fost executat. Dac obiectul membru este compus din alte obiecte, atunci se va proceda la executarea destructorilor obiectelor incluse. Destructorii obiectelor membri snt apelai n ordine invers, n care acetea apar n declaraia clasei. Din punct de vedere cronologic, constructorul este apelat dup alocarea memoriei necesare, deci n faza final a crerii obiectului, iar destructorul naintea eliberrii memoriei aferente, deci n faza iniial a distrugerii sale. Constructorii i destructorii se declar i se definesc similar cu celelalte funcii membri, dar prezint o serie de caracteristici specifice:
numele lor coincide cu numele clasei creia ii aparin; destructorii se disting de
constructori prin faptul c numele lor este precedat de caracterul nu pot returna nici un rezultat nu se pot utiliza pointeri ctre constructori sau destructori constructorii pot avea parametri, destructorii insa nu. Un constructor fr parametri poart denumirea de constructor implicit. n care o clasa nu dispune de constructori sau destructori, compilatorul de C++ genereaz automat un constructor, respectiv destructor, implicit.