Un obiect este o instanță a unei clase. După ce definim o clasă, putem crea mai multe obiecte bazate pe acea clasă, fiecare având propriile sale valori pentru atribute.
1. Definirea unei clase
O clasă este un șablon care definește structura și comportamentul obiectelor.
#include <iostream>using namespace std;// Definirea claseiclass Masina {public:string marca;string model;int an;// Metodă pentru afișarea detaliilor despre mașinăvoid afiseazaDetalii() {cout << "Marca: " << marca << ", Model: " << model << ", An: " << an << endl;}};
2. Crearea unui obiect
Un obiect este creat declarând o variabilă de tipul clasei:
int main() {Masina masina1; // Creăm un obiect de tip Masina// Inițializăm atributele obiectuluimasina1.marca = "Dacia";masina1.model = "Logan";masina1.an = 2022;// Apelăm metoda claseimasina1.afiseazaDetalii();return 0;}
Rezultatul afișat:
Marca: Dacia, Model: Logan, An: 2022
3. Crearea mai multor obiecte
Putem crea mai multe obiecte ale aceleiași clase, fiecare având valori diferite.
int main() {Masina masina1, masina2;masina1.marca = "BMW";masina1.model = "X5";masina1.an = 2023;masina2.marca = "Audi";masina2.model = "A4";masina2.an = 2021;masina1.afiseazaDetalii();masina2.afiseazaDetalii();return 0;}
Rezultatul:
Marca: BMW, Model: X5, An: 2023Marca: Audi, Model: A4, An: 2021
4. Crearea și inițializarea obiectelor cu un constructor
Un constructor este o funcție specială a clasei care este apelată automat atunci când un obiect este creat.
class Masina {public:string marca;string model;int an;// ConstructorMasina(string m, string mo, int a) {marca = m;model = mo;an = a;}void afiseazaDetalii() {cout << "Marca: " << marca << ", Model: " << model << ", An: " << an << endl;}};int main() {Masina masina1("Toyota", "Corolla", 2022);Masina masina2("Ford", "Focus", 2020);masina1.afiseazaDetalii();masina2.afiseazaDetalii();return 0;}
Rezultatul:
Marca: Toyota, Model: Corolla, An: 2022Marca: Ford, Model: Focus, An: 2020
Concluzie
- Obiectele sunt instanțe ale claselor și conțin propriile date.
- Putem crea mai multe obiecte dintr-o singură clasă.
- Metodele clasei definesc comportamentul obiectelor.
- Constructorii permit inițializarea automată a obiectelor la momentul creării.
Aceste concepte sunt esențiale în programarea orientată pe obiecte în C++.