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ă ;:
#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.privateeste nivelul de acces implicit pentru clase.public: membrii sunt accesibili de oriunde în afara clasei.
Încercați-l singur
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.
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
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.
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