This shows you the differences between two versions of the page.
poo-is-ab:laboratoare:06 [2024/10/30 22:26] razvan.cristea0106 [Moștenirea multiplă] |
poo-is-ab:laboratoare:06 [2025/01/19 22:29] (current) razvan.cristea0106 |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Laborator 6 - Moștenire multiplă și agregare ===== | + | ===== Laborator 06 - Moștenire multiplă și agregare ===== |
**Autor: Răzvan Cristea** | **Autor: Răzvan Cristea** | ||
Line 26: | Line 26: | ||
{{ :poo-is-ab:laboratoare:arbore_fluxuri.jpg?400 |}} | {{ :poo-is-ab:laboratoare:arbore_fluxuri.jpg?400 |}} | ||
- | Pentru acest laborator propunem ca și clase părinte **ProdusComercial** și respectiv **PiesaElectronica**, iar ca și clasă copil **CameraWeb**. Dacă am menționat **moștenire** acest lucru este echivalent cu relația de **"is-a"** ceea ce înseamnă că **orice cameră web** este un **produs comercial** și în același timp **orice cameră web** este o **piesă electronică**. | + | Pentru acest laborator propunem ca și clase părinte **ProdusComercial** și respectiv **PiesaElectronica**, iar ca și clasă copil **CameraWeb**. Dacă am menționat **moștenire** acest lucru este echivalent cu relația de **"is-a"** ceea ce înseamnă că **orice cameră web** este un **produs comercial** și în același timp **orice cameră web** este și o **piesă electronică**. |
Declarația clasei **ProdusComercial** se poate observa în blocul de cod mai jos. | Declarația clasei **ProdusComercial** se poate observa în blocul de cod mai jos. | ||
Line 79: | Line 79: | ||
#include "PiesaElectronica.h" | #include "PiesaElectronica.h" | ||
- | class CameraWeb : public ProdusComercial, public PiesaElectronica // CameraWeb mosteneste atat ProdusComercial cat si PiesaElectronica | + | class CameraWeb : public ProdusComercial, public PiesaElectronica // CameraWeb mosteneste atat clasa ProdusComercial cat si clasa PiesaElectronica |
{ | { | ||
int rezolutie; | int rezolutie; | ||
Line 336: | Line 336: | ||
</code> | </code> | ||
- | Iar implementarea funcțiilor din cadrul namespace-ului se poate observa mai jos. | + | Iar implementările funcțiilor din cadrul namespace-ului se pot observa mai jos. |
<code cpp> | <code cpp> | ||
Line 367: | Line 367: | ||
</code> | </code> | ||
- | Testarea acestui namespace este facută în **funcția main** după cum urmează în codul de mai jos. | + | Testarea acestui **namespace** este facută în **funcția main** după cum urmează în codul de mai jos. |
<code cpp> | <code cpp> |