Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
radumcostache authored Jun 22, 2023
1 parent 204c6c1 commit 27bf64a
Showing 1 changed file with 41 additions and 34 deletions.
75 changes: 41 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,65 @@
# OOP Template
# Travel Planner

### Mod de Functionare

- Se vor introduce coordonatele punctului de plecare.
- Se va raspunde la un set de intrebari (Intrebari cu DA/NU, intrebari cu scara)
- Pe baza intrebarilor aplicatia va stabili un profil al utilizatorului
- Se va introduce distanta maxima in km pe care utilizatorul este dispus sa o parcurga
- La final aplicatia va oferi destinatia cu cel mai bun match cu profilul creat si care se afla in limitele de distanta

### Tema 0

- [ ] Nume proiect (poate fi schimbat ulterior)
- [ ] Scurtă descriere a temei alese, ce v-ați propus să implementați
- [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
- [ ] definirea a minim 3-4 clase folosind compunere
- [ ] constructori de inițializare
- [ ] pentru o clasă: constructor de copiere, `operator=` de copiere, destructor
- [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
<!-- - [ ] pentru o altă clasă: constructor de mutare, `operator=` de mutare, destructor -->
<!-- - [ ] pentru o altă clasă: toate cele 5 funcții membru speciale -->
- [ ] `operator<<` pentru toate clasele pentru afișare (std::ostream)
- [ ] cât mai multe `const` (unde este cazul)
- [ ] implementarea a minim 3 funcții membru publice pentru funcționalități specifice temei alese
- [ ] scenariu de utilizare a claselor definite:
- [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ă)
- [ ] tag de `git`: de exemplu `v0.1`
- [ ] serviciu de integrare continuă (CI); exemplu: GitHub Actions
- [X] tag de `git`: de exemplu `v0.1`
- [X] serviciu de integrare continuă (CI); exemplu: GitHub Actions

## Tema 2

#### Cerințe
- [ ] separarea codului din clase în `.h` (sau `.hpp`) și `.cpp`
- [ ] moșteniri
- [ ] clasă cu atribut de tip pointer la o clasă de bază cu derivate
- [ ] funcții virtuale (pure) apelate prin pointeri de bază din clasa de mai sus, constructori virtuali (clone)
- [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)
- [ ] apelarea constructorului din clasa de bază din constructori din derivate
- [ ] smart pointers
- [ ] `dynamic_cast`
- [ ] suprascris cc/op= pentru copieri/atribuiri corecte, copy and swap
- [ ] excepții
- [ ] ierarhie proprie cu baza `std::exception` sau derivată din `std::exception`; minim 2 clase pentru erori specifice
- [ ] utilizare cu sens: de exemplu, `throw` în constructor, `try`/`catch` în `main`
- [ ] funcții și atribute `static`
- [ ] STL
- [ ] cât mai multe `const`
- [ ] la sfârșit: commit separat cu adăugarea unei noi derivate fără a modifica restul codului
- [ ] tag de `git`: de exemplu `v0.2`
- [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
- [ ] 2 șabloane de proiectare (design patterns)
- [ ] o funcție șablon (template) cu sens; minim 2 instanțieri
- [ ] o clasă șablon cu sens; minim 2 instanțieri
<!-- - [ ] o specializare pe funcție/clasă șablon -->
- [ ] tag de `git`: de exemplu `v0.3` sau `v1.0`
- [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] o specializare pe funcție/clasă șablon
- [X] tag de `git`: de exemplu `v0.3` sau `v1.0`

## Resurse

- [SFML](https://github.com/SFML/SFML/tree/aa82ea132b9296a31922772027ad5d14c1fa381b) (Zlib)
- adăugați trimiteri către resursele externe care v-au ajutat sau pe care le-ați folosit

0 comments on commit 27bf64a

Please sign in to comment.