Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/razvan48/gestiunea-unui-lant-de-hoteluri

Proiectul se va ocupa cu gestiunea unui lant de hoteluri. Va exista functionalitatea necesara descrierii relatiilor dintre hoteluri, clienti, camere, sejururi, angajati, etc..
https://github.com/razvan48/gestiunea-unui-lant-de-hoteluri

cpp oop

Last synced: 1 day ago
JSON representation

Proiectul se va ocupa cu gestiunea unui lant de hoteluri. Va exista functionalitatea necesara descrierii relatiilor dintre hoteluri, clienti, camere, sejururi, angajati, etc..

Awesome Lists containing this project

README

        

# Gestiunea unui lant de hoteluri

### Descriere proiect

####

  Proiectul se va ocupa cu gestiunea unui lant de hoteluri. Va exista functionalitatea necesara descrierii relatiilor dintre hoteluri, clienti, camere, angajati.

## Tema 0

####

- [x] Nume proiect (poate fi schimbat ulterior)
- [x] Scurtă descriere a temei alese, ce v-ați propus să implementați

## Tema 1

#### Cerințe
- [x] definirea a minim 3-4 clase folosind compunere
- [x] constructori de inițializare
- [x] pentru o clasă: constructor de copiere, `operator=` de copiere, destructor

- [x] `operator<<` pentru toate clasele pentru afișare (std::ostream)
- [x] cât mai multe `const` (unde este cazul)
- [x] implementarea a minim 3 funcții membru publice pentru funcționalități specifice temei alese
- [x] scenariu de utilizare a claselor definite:
- crearea de obiecte și apelarea funcțiilor membru publice în main
- vor fi adăugate în fișierul `tastatura.txt` exemple de date de intrare de la tastatură (dacă există)
- [x] tag de `git`: de exemplu `v0.1`
- [x] serviciu de integrare continuă (CI); exemplu: GitHub Actions

## Tema 2

#### Cerințe
- [x] separarea codului din clase în `.h` (sau `.hpp`) și `.cpp`
- [x] moșteniri
- [x] clasă cu atribut de tip pointer la o clasă de bază cu derivate
- [x] funcții virtuale (pure) apelate prin pointeri de bază din clasa de mai sus, constructori virtuali (clone)
- minim o funcție virtuală va fi **specifică temei** (e.g. nu simple citiri/afișări)
- [x] apelarea constructorului din clasa de bază din constructori din derivate
- [x] smart pointers
- [x] `dynamic_cast`
- [x] suprascris cc/op= pentru copieri/atribuiri corecte, copy and swap
- [x] excepții
- [x] ierarhie proprie cu baza `std::exception` sau derivată din `std::exception`; minim 2 clase pentru erori specifice
- [x] utilizare cu sens: de exemplu, `throw` în constructor, `try`/`catch` în `main`
- [x] funcții și atribute `static`
- [x] STL
- [x] cât mai multe `const`
- [x] la sfârșit: commit separat cu adăugarea unei noi derivate fără a modifica restul codului
- [x] tag de `git`: de exemplu `v0.2`

## Tema 3

#### Cerințe
- [x] 2 șabloane de proiectare (design patterns)
- [x] o funcție șablon (template) cu sens; minim 2 instanțieri
- [x] o clasă șablon cu sens; minim 2 instanțieri

- [x] tag de `git`: de exemplu `v0.3` sau `v1.0`

## Resurse

- adăugați trimiteri către resursele externe care v-au ajutat sau pe care le-ați folosit