This shows you the differences between two versions of the page.
|
sd-ca:laboratoare:laborator-02 [2016/02/21 19:48] radu.stochitoiu |
sd-ca:laboratoare:laborator-02 [2016/02/21 19:51] (current) radu.stochitoiu |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Obiective ===== | ===== Obiective ===== | ||
| - | În urma parcurgerii acestui laborator studentul va: | + | În urma parcurgerii acestui articol studentul va: |
| * învăța ce înseamnă o clasă | * învăța ce înseamnă o clasă | ||
| Line 80: | Line 80: | ||
| - | ====Compilare==== | ||
| - | Sursele C++ se compilează folosind compilatorul **g++**. Acesta permite exact aceleași opțiuni de bază ca și **gcc**, compilatorul utilizat pentru sursele de C. | ||
| - | |||
| - | * Încercați să compilați și să rulați codul din cele 3 fișiere de mai sus. | ||
| - | |||
| - | <code bash> | ||
| - | g++ complex.cc main.cc -o exemplu | ||
| - | </code> | ||
| - | Ce observați? | ||
| - | |||
| - | Înlocuiți acum keyword-ul //class// cu keyword-ul //struct// și compilați din nou. | ||
| ==== Specificatori de acces ==== | ==== Specificatori de acces ==== | ||
| Line 305: | Line 294: | ||
| ===== Clase/metode prietene ===== | ===== Clase/metode prietene ===== | ||
| - | Așa cum am văzut în primul laborator, fiecare membru al clasei poate avea 3 specificatori de acces: | + | Așa cum am văzut în primul articol, fiecare membru al clasei poate avea 3 specificatori de acces: |
| * public | * public | ||
| * private | * private | ||
| Line 585: | Line 574: | ||
| *[**2p**] Setati tipul de return a metodelor de tip getter astfel incat sa puteti modifica valorea intoarsa. | *[**2p**] Setati tipul de return a metodelor de tip getter astfel incat sa puteti modifica valorea intoarsa. | ||
| *[**1p**] Arătați funcționalitatea prin adăugarea de cod în fișierul main.cpp. Rezolvați, dacă e cazul, toate erorile/leak-urile depistate de Valgrind. | *[**1p**] Arătați funcționalitatea prin adăugarea de cod în fișierul main.cpp. Rezolvați, dacă e cazul, toate erorile/leak-urile depistate de Valgrind. | ||
| - | </hidden> | ||
| *[**5p**] Clasa Complex - clasă ce implementează conceptul de număr complex | *[**5p**] Clasa Complex - clasă ce implementează conceptul de număr complex | ||
| Line 602: | Line 590: | ||
| *[**2p**] Alocați o instanță de tip MappingEntry local și dinamic (utilizând new / delete). | *[**2p**] Alocați o instanță de tip MappingEntry local și dinamic (utilizând new / delete). | ||
| *[**1p**] Arătați funcționalitatea prin adăugarea de cod în fișierul main.cpp. Rezolvați, dacă e cazul, toate erorile/leak-urile depistate de Valgrind. | *[**1p**] Arătați funcționalitatea prin adăugarea de cod în fișierul main.cpp. Rezolvați, dacă e cazul, toate erorile/leak-urile depistate de Valgrind. | ||
| - | <hidden> | + | |
| *[**5p**] Clasa Punct2D - clasă ce implementează conceptul de punct în plan | *[**5p**] Clasa Punct2D - clasă ce implementează conceptul de punct în plan | ||
| *[**2p**] Implementați și folosiți utilizând template-uri clasa Punct2D, adăugând constructor și destructor. | *[**2p**] Implementați și folosiți utilizând template-uri clasa Punct2D, adăugând constructor și destructor. | ||
| Line 613: | Line 601: | ||
| - | </hidden> | + | |
| *[**5p**] Clasa Punct2D - clasă ce implementează conceptul de punct în plan | *[**5p**] Clasa Punct2D - clasă ce implementează conceptul de punct în plan | ||
| Line 630: | Line 618: | ||
| *[**1p**] Arătați funcționalitatea prin adăugarea de cod în fișierul main.cpp. Rezolvați, dacă e cazul, toate erorile/leak-urile depistate de Valgrind. | *[**1p**] Arătați funcționalitatea prin adăugarea de cod în fișierul main.cpp. Rezolvați, dacă e cazul, toate erorile/leak-urile depistate de Valgrind. | ||
| - | <hidden> | + | |
| ===== Interviu ===== | ===== Interviu ===== | ||
| - | Această secțiune nu este punctată și încearcă să vă facă o oarecare idee a tipurilor de întrebări pe care le puteți întâlni la un job interview (internship, part-time, full-time, etc.) din materia prezentată în cadrul laboratorului. | + | Această secțiune nu este punctată și încearcă să vă facă o oarecare idee a tipurilor de întrebări pe care le puteți întâlni la un job interview (internship, part-time, full-time, etc.) din materia prezentată în cadrul articolului. |
| * Care este diferența între struct și class în C++? | * Care este diferența între struct și class în C++? | ||