Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Satisfactia de a face ce iti place. tutorial, lectii online, solutii simple, exmeple, programe, C++

Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

C


Index » educatie » » informatica » C
Instantierea si distrugerea claselor derivate


Instantierea si distrugerea claselor derivate


Instantierea si distrugerea claselor derivate

Desi constructorul si destructorul clasei de baza nu sunt mosteniti, acestia au un rol si pentru clasa derivata.

Atunci cand o noua instanta a clasei derivate este creata, compilatorul apeleaza mai intai constructorul clasei de baza fara parametri, si pe urma constructorul clasei derivate.

Atunci cand instanta unei clase derivate este distrusa, compilatorul va apela mai intai destructorul clasei derivate, si mai apoi destructorul clasei de baza.

Alternativ, putem sa specificam ce constructor al clasei de baza trebuie apelat pentru orice constructor al clasei derivate. Folosind urmataorea sintaxa pentru a declara constructorul:

nume_clasa_derivata(parametri constructor)

: nume_clasa_de_baza (parametri constructor clasa de baza)

De exemplu:

// constructori si clase derivate

#include<iostream>

#include<conio.h>

using namespace std;

class Baza

Baza (int a)

};

class DerivataImplicit : public Baza

};



class DerivataParametric : public Baza

};

int main ()

Baza: fara parametri

DerivataImplicit: parametru int

Baza: parametru int

DerivataImplicit: parametru int

Remarcam ca atunci cand se creaza un obiect de tip DerivataImplicit, se apeleaza constructorul fara parametri al clasei Baza. Iar atunci cand se instantiaza DerivataParametric, se apeleaza constructorul cu parametru al lui Baza. Diferenta se datoreaza declaratiei constructorilor claselor DerivataImplicit si DerivataParametric:

DerivataImplicit(int a) // nu s-a specificat constructorul bazei,

// se apeleaza constructorul implicit

DerivataParametric(int a) : Baza(a) // apeleaza constructorul bazei specificat







Politica de confidentialitate
C


Access
Adobe photoshop
Autocad
Baze de date
C
Calculatoare
Corel draw
Excel
Foxpro
Html
Internet
Java
Linux
Mathcad
Matlab
Outlook
Pascal
Php
Powerpoint
Retele calculatoare
Sql
Windows
Word

PROGRAMAREA INTERFETELOR UTILIZATOR
Supraincarcarea operatorilor new si delete
Supraincarcarea operatorului de indexare
Constructorul implicit
Functii operator membre ale claselor
DECLARATII SI CONSTANTE
Constructori
Casete de dialog modale si nemodale
COMPONENTELE MEDIULUI INTEGRAT C++ BUILDER
Supraincarcarea functiilor















 
Copyright © 2019 - Toate drepturile rezervate