This shows you the differences between two versions of the page.
poo-is:laboratoare:03 [2020/09/11 18:05] alexandru.ionita99 [Laboratorul 03: Definirea și utilizarea claselor. Funcții constructor] |
poo-is:laboratoare:03 [2020/10/22 12:30] (current) andreea.udrea |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Laboratorul 03: Definirea și utilizarea claselor. Funcții constructor ===== | + | ===== Laboratorul 03: Clase. Funcții Constructor ===== |
In cadrul Laboratorului 3 vom explica si exemplifica cateva notiuni teoretice ce stau la baza Programarii Orientate pe Obiecte, precum clasele, functiile membre, constructorii si destructorii. De asemenea, vom prezenta o aplicatie C++, construita prin crearea de fisiere distincte, tocmai pentru a ne obisnui cu acest mod de dezvoltare a aplicatiilor. | In cadrul Laboratorului 3 vom explica si exemplifica cateva notiuni teoretice ce stau la baza Programarii Orientate pe Obiecte, precum clasele, functiile membre, constructorii si destructorii. De asemenea, vom prezenta o aplicatie C++, construita prin crearea de fisiere distincte, tocmai pentru a ne obisnui cu acest mod de dezvoltare a aplicatiilor. | ||
- | __Resurse__** | + | Pentru a aprofunda aceste concepte, recomandam urmatoarele capitole din [[https://discourse-production.oss-cn-shanghai.aliyuncs.com/original/3X/2/3/2380479dcb8e375425884a10da232730bbc7f88d.pdf|Absolute C++]] |
+ | * Capitolul 6 (Chapter 6. pag 239-274): Structures and Classes | ||
+ | * Capitolul 7 (Chapter 7. pag 275-320): Constructors and Other Tools | ||
==== 1. Introducere în programarea obiectuală ==== | ==== 1. Introducere în programarea obiectuală ==== | ||
Line 37: | Line 39: | ||
{ | { | ||
private: //implicit private, daca nu specificam | private: //implicit private, daca nu specificam | ||
- | string producator; | + | string producator; // pentru tipul string folositi documentatia din laboratorul 10 |
string model; | string model; | ||
string culoare; | string culoare; | ||
Line 146: | Line 148: | ||
} | } | ||
- | Dreptunghi::Dreptunghi(const Dreptunghi& d) | + | Dreptunghi::Dreptunghi(const Dreptunghi& d) //As putea sa nu implementez constr de copiere si sa il folosesc pe cel generat automat. |
- | { | + | { //deoarece nu am atribute pointer |
this->lungime = d.lungime; | this->lungime = d.lungime; | ||
this->latime = d.latime; | this->latime = d.latime; | ||
Line 154: | Line 156: | ||
Dreptunghi::~Dreptunghi() | Dreptunghi::~Dreptunghi() | ||
{ | { | ||
- | //Nu trebuie eliberat manual spatiul de memorie. Eventual, putem seta parametrii egali cu 0: | + | //Nu trebuie eliberat manual spatiul de memorie. As putea sa nu implementez destructorul si sa il folosesc pe cel generat automat. |
- | this->lungime = 0; | + | |
- | this->latime = 0; | + | |
} | } | ||