Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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..
- Host: GitHub
- URL: https://github.com/razvan48/gestiunea-unui-lant-de-hoteluri
- Owner: Razvan48
- Created: 2023-03-21T20:11:02.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-26T11:56:48.000Z (10 months ago)
- Last Synced: 2024-11-22T05:25:18.645Z (2 months ago)
- Topics: cpp, oop
- Language: C++
- Homepage:
- Size: 299 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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