This is an old revision of the document!


Articol 02 - Noțiuni de C++

Obiective

În urma parcurgerii acestui laborator studentul va:

  • înțelege conceptul de template
  • înțelege conceptul de referințe din C++
  • înțelege conceptul de read-only introdus prin identificatorul const
  • [5p] Clasa Complex - clasă ce implementează conceptul de număr complex
    • [2p] Implementați și folosiți utilizând template-uri clasa Complex, adăugând constructor și destructor.
    • [2p] Adăugați clasei Complex metode pentru adunare, scădere și înmulțire cu un alt număr complex.
    • [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.
  • [3p] Simple use of const
    • [0.5p] Creati un pointer variabil la o variabila de tip intreg constanta (in 2 moduri).
    • [0.5p] Creati un pointer constant la o variabila de tip intreg non-constanta.
    • [0.5p] Creati un pointer constant la o variabila de tip intreg constanta.
    • [1.5p] Initializati pointerul si variabila referita pentru fiecare caz. Explicati si rezolvati erorile de compilare.
  • [5p] Clasa MappingEntry - conține 2 membri de tipuri potențial diferite și realizează, din punct de vedere conceptual, asocierea între două valori (una se numește cheie, iar cealaltă valoare).
    • [2p] Implementați și folosiți utilizând template-uri clasa MappingEntry de mai sus adăugând constructor și destructor.
    • [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.
  • [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] Adăugați clasei Punct2D metode pentru determinarea proiecțiilor pe axe (OX/OY), respectiv pentru determinarea distanței față de un alt Punct2D.
    • [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.
  • [5p] Clasa Complex - clasă ce implementează conceptul de număr complex
    • [2p] Implementați și folosiți utilizând template-uri clasa Complex, adăugând constructor și destructor.
    • [2p] Adăugați clasei Complex metode pentru adunare, scădere și înmulțire cu un alt număr complex.
    • [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.
  • [2p bonus] Clasa KeyStorage
    • [2p] Implementați și folosiți utilizând template-uri clasa KeyStorage de mai sus adăugând constructor și destructor.
    • [2p] Alocați o instanță de tip KeyStorage 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.

Bibliografie

sd-ca/laboratoare/laborator-02.1456076070.txt.gz · Last modified: 2016/02/21 19:34 by radu.stochitoiu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0