Salt la conținutul principal
Modulul 4 · Lecția 1 din 29/18 în curs~12 min
Lecții din modul (1/2)

Clase și Obiecte

Programarea orientată pe obiecte (OOP) este o paradigmă de bază a C++. Permite gruparea datelor și funcțiilor în entități unice numite clase.

O clasă acționează ca un plan, în timp ce un obiect este o instanță concretă a acelei clase.

Sintaxa de bază a unui class

În C++, utilizați cuvântul cheie class. Spre deosebire de alte limbaje, în C++, definițiile clasei trebuie să se încheie cu punct și virgulă ;:

C++
#include <iostream>
#include <string>

class Player {
    // By default, all members of a class are private
private:
    std::string name;
    int score = 0;

public:
    // Public methods to access or modify private data
    void setName(std::string newName) {
        name = newName;
    }

    void addScore(int points) {
        score += points;
    }

    void display() {
        std::cout << name << " has " << score << " points!" << std::endl;
    }
};

int main() {
    Player p; // Creating an object of type Player
    p.setName("Marco");
    p.addScore(15);
    p.display();
    return 0;
}

Specificatori de acces: public și private

Încapsularea constă în ascunderea detaliilor interne de implementare ale unui obiect și în expunerea doar a unei interfețe controlate.

C++ gestionează acest control folosind specificatorii de acces:

  • private: membrii sunt accesibili numai în cadrul funcțiilor membre ale clasei în sine.
  • private este nivelul de acces implicit pentru clase.
  • public: membrii sunt accesibili de oriunde în afara clasei.

Încercați-l singur

Exercițiu#cpp.m4.l1.e1
Încercări: 0Se încarcă…

Definiți o clasă numită Rectangle cu doi membri întregi privati: lățime și înălțime. Adăugați o metodă publică void setDimensions(int w, int h) pentru a le seta și o metodă int getArea() care returnează lățime * înălțime. În principal, creați un dreptunghi, setați-i dimensiunile la 5 și 4 și imprimați zona.

Se încarcă editorul...
Afișează indiciu

Utilizați specificatorii de acces `private:`și`public:`. Nu uitați să închideți clasa cu punct și virgulă `;` după acolada.

Soluție disponibilă după 3 încercări

Exercițiu#cpp.m4.l1.e2
Încercări: 0Se încarcă…

Definiți o clasă numită Counter cu un număr de membri privat inițializat la 0. Adăugați metode publice void increment() și int getCount(). În principal, creați un obiect Counter, incrementați-l de două ori și imprimați valoarea.

Se încarcă editorul...
Afișează indiciu

În C++ moderno poți să inițiezi membrii direct în clasa: `int count = 0;`.

Soluție disponibilă după 3 încercări