This shows you the differences between two versions of the page.
|
poo-is-ab:tema:00 [2024/12/05 15:06] marius.trifu [4. Clase și metode] |
poo-is-ab:tema:00 [2024/12/07 13:51] (current) razvan.cristea0106 [3. Formatare] |
||
|---|---|---|---|
| Line 4: | Line 4: | ||
| ===== 1. Structura generală a fișierelor ===== | ===== 1. Structura generală a fișierelor ===== | ||
| + | |||
| - Fiecare clasă trebuie definită într-un fișier separat: | - Fiecare clasă trebuie definită într-un fișier separat: | ||
| * Declarațiile clasei în fișierul de header (.h). | * Declarațiile clasei în fișierul de header (.h). | ||
| Line 18: | Line 19: | ||
| #include <iostream> | #include <iostream> | ||
| #include <vector> | #include <vector> | ||
| + | | ||
| ===== 2. Denumiri ===== | ===== 2. Denumiri ===== | ||
| - **Clase**: PascalCase (ex. ''MyClass''). | - **Clase**: PascalCase (ex. ''MyClass''). | ||
| Line 25: | Line 27: | ||
| - **Spații de nume (namespace)**: lowercase (ex. ''namespace utils''). | - **Spații de nume (namespace)**: lowercase (ex. ''namespace utils''). | ||
| - **Enumerări**: PascalCase pentru tipuri, toate literele mari pentru valori. | - **Enumerări**: PascalCase pentru tipuri, toate literele mari pentru valori. | ||
| - | <code> | + | <code cpp> |
| enum class Color { | enum class Color { | ||
| RED, | RED, | ||
| GREEN, | GREEN, | ||
| BLUE | BLUE | ||
| - | }; | + | };</code> |
| - | </code> | + | |
| ===== 3. Formatare ===== | ===== 3. Formatare ===== | ||
| Line 37: | Line 38: | ||
| * **Acolade**: Stil Allman (acoladele deschise pe linie separată). | * **Acolade**: Stil Allman (acoladele deschise pe linie separată). | ||
| + | <code cpp> | ||
| class MyClass | class MyClass | ||
| { | { | ||
| Line 45: | Line 47: | ||
| } | } | ||
| }; | }; | ||
| + | </code> | ||
| * **Lungimea liniei**: maxim 80 de caractere. | * **Lungimea liniei**: maxim 80 de caractere. | ||
| Line 54: | Line 57: | ||
| * **Reguli generale**: | * **Reguli generale**: | ||
| * Inițializați toate variabilele în constructor folosind lista de inițializare. | * Inițializați toate variabilele în constructor folosind lista de inițializare. | ||
| - | <code> | + | <code cpp> |
| MyClass::MyClass(int value) | MyClass::MyClass(int value) | ||
| : m_value(value) | : m_value(value) | ||
| Line 60: | Line 63: | ||
| }</code> | }</code> | ||
| * **Getter și Setter**: | * **Getter și Setter**: | ||
| - | * Getterele trebuie să fie constante (ex. ''int getValue() const;''). | + | |
| + | * Getterii trebuie să fie constanți (ex. ''int getValue() const;''). | ||
| * Metodele care nu modifică obiectul trebuie să fie declarate const. | * Metodele care nu modifică obiectul trebuie să fie declarate const. | ||
| - | <code> | + | |
| + | <code cpp> | ||
| class MyClass | class MyClass | ||
| { | { | ||
| Line 70: | Line 75: | ||
| public: | public: | ||
| int getValue() const { return m_value; } | int getValue() const { return m_value; } | ||
| - | void setValue(int value) { m_value = value; } | + | void setValue(const int& value) { m_value = value; } |
| }; | }; | ||
| - | </code> | + | </code> |
| ===== 5. Alte recomandări ===== | ===== 5. Alte recomandări ===== | ||
| Line 80: | Line 85: | ||
| ===== Exemplu complet ===== | ===== Exemplu complet ===== | ||
| - | <code> | ||
| + | <code cpp> | ||
| #include <iostream> | #include <iostream> | ||
| Line 108: | Line 113: | ||
| return 0; | return 0; | ||
| } | } | ||
| - | |||
| </code> | </code> | ||