Extras din curs
CLASE DERIVATE.MOŞTENIRI.FUNCŢII VIRTUALE
Derivarea claselor.Moşteniri
Funcţii care nu se moştenesc integral
Funcţii virtuale
Derivarea claselor.Moşteniri
Derivarea are ca obiectiv reutilizarea soft-ului prin folosirea unor funcţii deja scrise pentru clasele existente şi eliminarea redundanţei descrierilor, în cazul claselor care au elemente comune (funcţii sau date).
Declaraţia clasei derivate (D) anunţă clasa de bază (B) din care privine, precum şi tipul accesului pe care îl asigură pentru partea informaţională moştenită(public,private sau protected)
Sintaxă:
class D:public B
{
// date si functii
};
Derivarea claselor.Moşteniri
Derivarea claselor.Moşteniri
Derivarea claselor.Moşteniri
Derivarea claselor.Moşteniri
OBS:
Prin derivarea privată membri publici ai clasei de bază devin privaţi.
Dacă dorim ca unii dintre aceştia să rămână publici se utilizează publicizarea acestora
Publicizare: citarea pe zona public a clasei derivate a membrilor moşteniţi
............DesktopMicrosoft Visual C++ 6.0 ().lnk (PooMC00)
Derivarea claselor.Moşteniri
Clasa derivată poate avea constructori proprii sau nu
În cazul în care clasa derivată are constructori expliciţi aceştia sunt responsabili cu inţializarea corectă a datelor moştenite.
În mod normal, constructorul clasei derivate apelează la constructorul clasei de bază pentru iniţializarea datelor clasei de bază (chiar dacă nu este solicitat acest lucru) după care completează clasa cu datele şi funcţiile specifice
Ordinea de apelare a constructorilor este:
Constructor clasa de baza
Constructor clasa derivata
Derivarea claselor.Moşteniri
Ordinea de apelare a destructorilor este:
Detructor clasa drivată
Destructor clasa de baza
Exemplu de clasă derivată cu constructor explicit
............DesktopMicrosoft Visual C++ 6.0 ().lnk(Ex.PooMC01)
Exemplu de clasă derivată cu constructor implicit
............DesktopMicrosoft Visual C++ 6.0 ().lnk(Ex.PooMC02)
Preview document
Conținut arhivă zip
- Clase Derivate. Mosteniri. Functii Virtuale
- PooMC_Aplicatii
- functii08.cpp
- PooMC00.cpp
- PooMC01.cpp
- PooMC02.cpp
- PooMC03.cpp
- pooMC04.cpp
- PooMC05.cpp
- PooMC06.cpp
- PooMC07.cpp
- PooMC08.cpp
- PooMC09.cpp
- PooMCT01.cpp
- PooMCT02.cpp
- PooMCT03.cpp
- POO03.ppt
- PooMC.doc
- Thumbs.db