Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo-is-ab:tema:00 [2024/12/05 14:58]
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 13: Line 14:
   - Exemple de structură:   - Exemple de structură:
  
-    <​code>​ 
     // Exemplu include-uri     // Exemplu include-uri
     #include "​MyClass.h"​     #include "​MyClass.h"​
Line 19: Line 19:
     #include <​iostream>​     #include <​iostream>​
     #include <​vector>​     #include <​vector>​
-    ​</​code>​ +    ​
 ===== 2. Denumiri ===== ===== 2. Denumiri =====
   - **Clase**: PascalCase (ex. ''​MyClass''​).   - **Clase**: PascalCase (ex. ''​MyClass''​).
Line 28: 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 40: 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 48: Line 47:
         }         }
     };     };
 +</​code>​
  
   * **Lungimea liniei**: maxim 80 de caractere.   * **Lungimea liniei**: maxim 80 de caractere.
Line 56: Line 56:
 ===== 4. Clase și metode ===== ===== 4. Clase și metode =====
   * **Reguli generale**:   * **Reguli generale**:
-    * Folosiți ''​public''​ înaintea ''​protected''​ și ''​protected''​ înaintea ''​private''​. 
     * 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)
     {     {
-    } +    }</​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 75: 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 intvalue) { m_value = value; }
     };     };
-    ​</​code>​ +</​code>​
- +
- +
  
 ===== 5. Alte recomandări ===== ===== 5. Alte recomandări =====
Line 88: Line 85:
  
 ===== Exemplu complet ===== ===== Exemplu complet =====
-<​code>​ 
  
 +<code cpp>
 #include <​iostream>​ #include <​iostream>​
  
Line 116: Line 113:
     return 0;     return 0;
 } }
- 
 </​code>​ </​code>​
  
poo-is-ab/tema/00.1733403523.txt.gz · Last modified: 2024/12/05 14:58 by marius.trifu
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