curs7-POO2013.pdf

download curs7-POO2013.pdf

of 67

Transcript of curs7-POO2013.pdf

  • 7/24/2019 curs7-POO2013.pdf

    1/67

    LECTOR ADRIAN RUNCEANU

    Programare orientatpe obiecte

    Universitatea Constantin Brncui din Trgu-Jiu

    Facultatea de Inginerie

    Departamentul de Automatic, Energie i Mediu

  • 7/24/2019 curs7-POO2013.pdf

    2/67

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    2

    Curs 7Clase derivate. Motenire

  • 7/24/2019 curs7-POO2013.pdf

    3/67

    Curs 7

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    3

    1. Noiuni de bazcare privesc motenirea1.1. Atribuiri ntre obiectele unei clasederivate i obiectele clasei de baz1.2. Suprancrcarea funciilor

    2. Accesul la membrii unei clase derivate3. Constructori i destructori n clasele

    derivate4. Utilitatea claselor derivate

  • 7/24/2019 curs7-POO2013.pdf

    4/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    4

    Prin motenire se nelege aceaproprietate a claselor prin care un tip

    nou construit poate prelua datele imetodele unui tip mai vechi.

    n C++ acest mecanism mai este

    cunoscut sub numele derivareaclaselor.

  • 7/24/2019 curs7-POO2013.pdf

    5/67

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    5

    Evident, clasei nou construite i se potadauga noi date si metode.

    Prin acest procedeu se preia soft deja facut

    care se dezvolta.Avantajul urias al acestui procedeu este

    ca persoana care reia un anumit soft

    trebuie sa cunoasca doar documentatia deutilizare a soft-ului preluat.

    1. Noiuni de bazcare privescmotenirea

  • 7/24/2019 curs7-POO2013.pdf

    6/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    6

    Ideea de baza este urmatoarea:Fiind date clasele C1, C2, ., Cn, putem

    construi clasa Cn+1 care are, pe langa datele

    si metodele claselor enumerate, date simetode proprii.

    Clasele C1, C2, ., Cnse numesc clase de baz

    Clasa Cn+1se numeste clasa derivat

  • 7/24/2019 curs7-POO2013.pdf

    7/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    7

    Forma simplificata prin care o clasa seobtine din derivarea altei clase esteurmatoarea:

    Semnificatia este: clasa C1 este derivata dinclasa de baza C, iar clasa C este clasa carese deriveaza.

    class C1:public C{.}

  • 7/24/2019 curs7-POO2013.pdf

    8/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    8

    Exemplul 1Clasa numar contine o data membru n, si o

    metoda membru tip().

    Clasa numar_d este derivata din clasanumar.

    Prin urmare, un obiect obtinut prininstantierea acesteia, are data membru nsi metoda

    tipar().Pe langa aceasta, clasa numar_d are o noua

    metoda numita citire().

  • 7/24/2019 curs7-POO2013.pdf

    9/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    9

    #includeclass numar{

    public:int n;void tipar() { cout

  • 7/24/2019 curs7-POO2013.pdf

    10/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    10

    class numar_d : public numar{public:

    void citire()

    {coutn;

    }};

  • 7/24/2019 curs7-POO2013.pdf

    11/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    11

    int main(void){

    numar_d a;

    a.citire();a.tipar();

    }

  • 7/24/2019 curs7-POO2013.pdf

    12/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    12

    Dupa executia programului se obtin urmatoarelerezultate:

  • 7/24/2019 curs7-POO2013.pdf

    13/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    13

    Exemplul 2Clasa complexne permite sa lucram usor cu

    numere complexe.In timpul utilizarii acestei clase am observat

    ca ar fi bine sa contina o metoda booleananumita real(), care sa ne permita sa testamdaca numarul complex este real sau nu.

    Dispunem de documentatia clasei complex.Vom defini o noua clasa numita complex_d

    care sa contina datele si metodele clasei complexsi, in plus, sa contina si o noua metoda.

  • 7/24/2019 curs7-POO2013.pdf

    14/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    14

    #include#include "complex.cpp // fisier in care este

    declarata si definita clasa complex

    class complex_d : public complex{public:

    int parte_reala();};

  • 7/24/2019 curs7-POO2013.pdf

    15/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    15

    int complex_d::parte_reala(){

    return imag==0;

    }

  • 7/24/2019 curs7-POO2013.pdf

    16/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    16

    int main(void){

    complex_d z;

    z.real = 3;z.imag = 1;if(z.parte_reala())

    cout

  • 7/24/2019 curs7-POO2013.pdf

    17/67

    1. Noiuni de bazcare privescmotenirea

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    17

    Clasa complex seinclude in aceasta

    zona NOTA: Clasa

    complex nucontine functiamain()!!!!!!!!

  • 7/24/2019 curs7-POO2013.pdf

    18/67

    Curs 7

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    18

    1. Noiuni de bazcare privesc motenirea1.1. Atribuiri ntre obiectele unei clasederivate i obiectele clasei de baz1.2. Suprancrcarea funciilor

    2. Accesul la membrii unei clase derivate3. Constructori i destructori n clasele

    derivate4. Utilitatea claselor derivate

  • 7/24/2019 curs7-POO2013.pdf

    19/67

    1.1. Atribuiri ntre obiectele unei clasederivate i obiectele clasei de baz

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    19

    Unui obiect al clasei de baza i se poate atribui unobiect al unei clase care este derivata din ea.

    Unui obiect al unei clase derivate nu i se poate

    atribui un obiect al clasei de baza.

    De ce?Pentru ca in clasa derivata avem date si

    metode in plus fata de clasa de baza! si nu putemsti ce valori vor primi acestea in cazul unei astfelde atribuiri.

  • 7/24/2019 curs7-POO2013.pdf

    20/67

    1.1. Atribuiri ntre obiectele unei clasederivate i obiectele clasei de baz

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    20

    Putem totui suprancrca operatorul=n clasa derivat.

    Dar i aici datele care aparin exclusivclasei derivate vor lua valori arbitrare(n exemplul urmtor valoarea 0).

  • 7/24/2019 curs7-POO2013.pdf

    21/67

    1.1. Atribuiri ntre obiectele unei clasederivate i obiectele clasei de baz

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    21

    Exemplul 3

    #include

    class numar{public:

    int m; // informatie specifica clasei de baza

    };

  • 7/24/2019 curs7-POO2013.pdf

    22/67

    1.1. Atribuiri ntre obiectele unei clasederivate i obiectele clasei de baz

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    22

    class numar_d : public numar{public:

    int n; // informatie specifica clasei derivate

    void operator=(numar &x){

    m=x.m;

    n=0;}

    };

  • 7/24/2019 curs7-POO2013.pdf

    23/67

    1.1. Atribuiri ntre obiectele unei clasederivate i obiectele clasei de baz

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    23

    int main(void){

    numar a;numar_d b;

    b.m=3;b.n=4;a=b;

    cout

  • 7/24/2019 curs7-POO2013.pdf

    24/67

    1.1. Atribuiri ntre obiectele unei clasederivate i obiectele clasei de baz

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    24

    Dupa executia programului se obtin urmatoarelerezultate:

  • 7/24/2019 curs7-POO2013.pdf

    25/67

    Curs 7

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    25

    1. Noiuni de bazcare privesc motenirea1.1. Atribuiri ntre obiectele unei clasederivate i obiectele clasei de baz

    1.2. Suprancrcarea funciilor2. Accesul la membrii unei clase derivate3. Constructori i destructori n clasele

    derivate4. Utilitatea claselor derivate

  • 7/24/2019 curs7-POO2013.pdf

    26/67

    1.2. Suprancrcarea funciilor

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    26

    Se stie ca functiile pot fisupraincarcate.

    Dar o clasa derivata poate contine ofunctie cu acelasi nume si cu aceeasi

    lista de parametrii formali ca una aclasei de baza?

    Raspunsul este afirmativ.

  • 7/24/2019 curs7-POO2013.pdf

    27/67

    1.2. Suprancrcarea funciilor

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    27

    In exemplul urmator:

    clasa de baza numar are o metoda numita

    tipar(), in care lista parametrilor este vida clasa derivata numar_d are pe langa

    metoda tipar(), mostenita, o alta metoda

    numita tot tipar(), tot cu lista parametrilorvida

  • 7/24/2019 curs7-POO2013.pdf

    28/67

    1.2. Suprancrcarea funciilor

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    28

    Prin a.tipar()se apeleaza metoda tipar()proprie clasei derivate.

    In cazul in care dorim sa apelam metodatipar() a clasei de baza scriem:a.numar::tipar().

    Cele doua metode cu acelasi nume difera

    doar prin mesajul afisat inaintea tipaririivalorii retinute de variabila.

  • 7/24/2019 curs7-POO2013.pdf

    29/67

    1.2. Suprancrcarea funciilor

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    29

    Exemplul 4

    #includeclass numar{

    public:int i;

    void tipar(){

    cout

  • 7/24/2019 curs7-POO2013.pdf

    30/67

    1.2. Suprancrcarea funciilor

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    30

    class numar_d : public numar{public:void tipar(){

    cout

  • 7/24/2019 curs7-POO2013.pdf

    31/67

    1.2. Suprancrcarea funciilor

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    31

    int main(void){

    numar_d a;

    a.i = 3;a.tipar();a.numar::tipar();

    }

  • 7/24/2019 curs7-POO2013.pdf

    32/67

    1.2. Suprancrcarea funciilor

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    32

    Dupa executia programului se obtin urmatoarelerezultate:

  • 7/24/2019 curs7-POO2013.pdf

    33/67

    1.2. Suprancrcarea funciilor

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    33

    Mai exist situaia n care, n clasa derivat sdefinim o dat membru cu acelai nume cu odatdin clasa de baz.

    Nu se semnaleazeroare n acest caz. Iar un obiect rezultat ca o instaniere a unei clase

    derivate va avea doudate cu acelai nume.

    Implicit se adreseaz data definit n clasaderivat, dar este posibil sadresm i data dinclasa de bazla fel ca i n cazul funciilor.

  • 7/24/2019 curs7-POO2013.pdf

    34/67

    1.2. Suprancrcarea funciilor

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    34

    Exemplul 5

    #includeclass numar{

    public:int i;};class numar_d : public numar{

    public:int i;

    };

  • 7/24/2019 curs7-POO2013.pdf

    35/67

    1.2. Suprancrcarea funciilor

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    35

    int main(void){

    numar_d a;

    a.i=2;a.numar::i=3;cout

  • 7/24/2019 curs7-POO2013.pdf

    36/67

    1.2. Suprancrcarea funciilor

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    36

    Dupa executia programului se obtin urmatoarelerezultate:

  • 7/24/2019 curs7-POO2013.pdf

    37/67

    Curs 7

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    37

    1. Noiuni de bazcare privesc motenirea1.1. Atribuiri ntre obiectele unei clasederivate i obiectele clasei de baz

    1.2. Suprancrcarea funciilor2. Accesul la membrii unei clase derivate3. Constructori i destructori n clasele

    derivate4. Utilitatea claselor derivate

    2 Accesul la membrii unei clase

  • 7/24/2019 curs7-POO2013.pdf

    38/67

    2. Accesul la membrii unei clasederivate

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    38

    Membrii unei clase (date si metode) sunt de treifeluri:

    Publiciprecedati de cuvantul cheie public:Acestia

    pot fi accesati din exteriorul clasei.Privatiprecedati de cuvantul cheie private:

    Stim ca, implicit membrii unei clase sunt privati.Membriiprivateai unei clase nu pot fi accesati din

    exteriorul clasei, decat din interiorul clasei respective.

    A l l b ii i l

  • 7/24/2019 curs7-POO2013.pdf

    39/67

    2. Accesul la membrii unei clasederivate

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    39

    Protejati precedati de cuvantul cheieprotected:

    Pana acum nu am folosit acest tip de membri.

    Rolul lor apare in momentul in care clasaeste derivata.

    Ei nu pot si accesati din exterior (la fel ca simembrii privati), dar pot fi accesati din clasele

    derivate.

    A l l b ii i l

  • 7/24/2019 curs7-POO2013.pdf

    40/67

    2. Accesul la membrii unei clasederivate

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    40

    Exista trei modalitati in care o clasa poate fi mostenita(derivata): 1. class numar_d:publicnumar

    {

    . . .

    };

    2. class numar_d:privatenumar

    {

    . . .

    };

    3. class numar_d:protectednumar{

    . . .

    };

    A l l b ii i l

  • 7/24/2019 curs7-POO2013.pdf

    41/67

    2. Accesul la membrii unei clasederivate

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    41

    1. A fost mostenita clasa precedata decuvantul cheiepublic:

    - membrii publici ai clasei de baza raman

    publicsi in clasa derivata- membrii privati ai clasei de baza ramanprivatesi in clasa derivata

    - membrii protejati ai clasei de baza ramanprotectedsi in clasa derivata

    2 Accesul la membrii unei clase

  • 7/24/2019 curs7-POO2013.pdf

    42/67

    2. Accesul la membrii unei clasederivate

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    42

    2. A fost mostenita precedata de cuvantulcheieprivate:

    In aceasta situatie clasa derivata are totimembrii private.

    In schimb, in interiorul clasei derivate

    putem accesa membrii publici si membriiprotejati ai clasei de baza.

    2 A l l b ii i l

  • 7/24/2019 curs7-POO2013.pdf

    43/67

    2. Accesul la membrii unei clasederivate

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    43

    3. A fost mostenita precedata de cuvantul cheieprotected:

    In aceasta situatie, membrii public siprotected ai clasei de baza sunt protejatipentru noua clasa, iar cei privateai clasei debaza raman privatesi pentru clasa derivata Din interiorul clasei derivate putem accesa

    membrii publicsi privateai clasei de baza

    2 A l l b ii i l

  • 7/24/2019 curs7-POO2013.pdf

    44/67

    2. Accesul la membrii unei clasederivate

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    44

    Forma generala a unei clase derivate:class nume

    : [publicsauprivatesauprotected]nume_1,

    : [publicsauprivatesauprotected]nume_2,. . .

    : [publicsauprivatesauprotected]

    nume_n{. . .

    };

  • 7/24/2019 curs7-POO2013.pdf

    45/67

    Curs 7

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    45

    1. Noiuni de bazcare privesc motenirea1.1. Atribuiri ntre obiectele unei clasederivate i obiectele clasei de baz

    1.2. Suprancrcarea funciilor2. Accesul la membrii unei clase derivate3. Constructori i destructori n clasele

    derivate

    4. Utilitatea claselor derivate

  • 7/24/2019 curs7-POO2013.pdf

    46/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    46

    n cazul n care definim o clas derivat aunei clase de baz, constructorii i destructoriiau un comportament specific.

    Exemplul 6Clasa numar_dmosteneste clasa numar.Fiecare dintre ele este inzestrata cu unconstructor.Cei doi constructori difera doar prin sirul afisat.La declararea unui obiect care instantiaza clasaderivata se tipareste numarapoi numar_d.

  • 7/24/2019 curs7-POO2013.pdf

    47/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    47

    #include

    class numar{public:

    numar(){ cout

  • 7/24/2019 curs7-POO2013.pdf

    48/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    48

    class numar_d : public numar{public:

    numar_d()

    { cout

  • 7/24/2019 curs7-POO2013.pdf

    49/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    49

    Dupa executia programului se obtin urmatoarelerezultate:

    Astfel se observa ca la declareaunui obiect se apeleleaza mai intaiconstructorul clasei de baza si apoicel al clasei derivate.

  • 7/24/2019 curs7-POO2013.pdf

    50/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    50

    Lucrurile se complica atunci cand inclasa de baza avem mai multi constructori, iar

    in clasa derivata, la fel, alti constructorispecifici clasei respective.

  • 7/24/2019 curs7-POO2013.pdf

    51/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    51

    Exemplul 7

    #include

    class numar{public:

    numar()

    { cout

  • 7/24/2019 curs7-POO2013.pdf

    52/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    52

    class numar_d : public numar{

    public:numar_d(){ cout

  • 7/24/2019 curs7-POO2013.pdf

    53/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    53

    int main(void){

    numar_d a, b(1);}

    i i d i

  • 7/24/2019 curs7-POO2013.pdf

    54/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    54

    Dupa executia programului se obtin urmatoarelerezultate:

    i i d i

  • 7/24/2019 curs7-POO2013.pdf

    55/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    55

    Un constructor al clasei derivate, mai intaiapeleaza constructorul fara parametri alclasei de baza, apoi efectueaza propriile

    operatii.

    Apelul constructorului clasei de baza se face

    automat, fara ca programatorul sa scrieceva.

    i i d i

  • 7/24/2019 curs7-POO2013.pdf

    56/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    56

    In cazul in care acesta doreste sa fieapelat un anumit constructor, altul decat celfara parametri, se procedeaza ca in exemplul

    precedent, unde constructorul cu unparametru al clasei derivate apeleaza pe cel cuun parametru al clasei de baza:

    numar_d (int k) : numar (k){ cout

  • 7/24/2019 curs7-POO2013.pdf

    57/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    57

    In ceea ce priveste destructorii,acestia se apeleaza in ordinea inversa incare au fost apelati constructorii.

    C i i d i

  • 7/24/2019 curs7-POO2013.pdf

    58/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    58

    Exemplul 8#includeclass numar{

    public:numar(){ cout

  • 7/24/2019 curs7-POO2013.pdf

    59/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    59

    class numar_d : public numar{public:

    numar_d(){ cout

  • 7/24/2019 curs7-POO2013.pdf

    60/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    60

    int main(void){

    numar_d b;}

    C i i d i

  • 7/24/2019 curs7-POO2013.pdf

    61/67

    3. Constructori i destructori

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    61

    Dupa executia programului se obtin urmatoarelerezultate:

    C

  • 7/24/2019 curs7-POO2013.pdf

    62/67

    Curs 7

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    62

    1. Noiuni de bazcare privesc motenirea1.1. Atribuiri ntre obiectele unei clasederivate i obiectele clasei de baz

    1.2. Suprancrcarea funciilor2. Accesul la membrii unei clase derivate3. Constructori i destructori n clasele

    derivate

    4. Utilitatea claselor derivate

    Utilit t l l d i t

  • 7/24/2019 curs7-POO2013.pdf

    63/67

    4. Utilitatea claselor derivate

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    63

    Scopul claselor derivate este de a adauganoi caracteristici unei clase de baza.

    In general, clasele derivate au nevoie deconstructori mai complecsi decat cei de la

    baza; de aceea, pentru usurinta, se vor apelaimplicit constructorii clasei de baz de cteori este posibil.

    Utilit t l l d i t

  • 7/24/2019 curs7-POO2013.pdf

    64/67

    4. Utilitatea claselor derivate

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    64

    Deoarece o clas derivat nu estedect o construcie n jurul unei clasede baz, regulile sunt urmtoarele:

    1. pentru constructor, se apeleaz mai nticonstructorii clasei de baz i apoi seexecutaciunile specifice constructorului

    clasei derivate2. pentru destructori, se procedeaz invers,

    apelndu-se nti destructorul clasei

    derivate i apoi cel al clasei de baz

    Utilit t l l d i t

  • 7/24/2019 curs7-POO2013.pdf

    65/67

    4. Utilitatea claselor derivate

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    65

    De reinut: Daca toti constructorii sau destructorii unei

    clase de baza sunt de tip private, atunci ei

    nu pot fi accesati de clasa derivata, rezultando situatie grava, ce va fi semnalata ca eroarede compilare.

    Deci, se recomanda ca destructorul si celputin un constructor al clasei de baza sa fiedeclarati de tippublic.

    Utilit t l l d i t

  • 7/24/2019 curs7-POO2013.pdf

    66/67

    4. Utilitatea claselor derivate

    01.11.2013Curs - Programare orientat pe obiecte C++/Java

    66

    Constructorii si destructorii clasei debaza sunt folositi la crearea si

    distrugerea obiectelor claselor derivate,dar ei nu sunt mosteniti de catre acestea.

  • 7/24/2019 curs7-POO2013.pdf

    67/67

    67

    ntrebri?