În Python ai învățat clasa — date + acțiuni la un loc. În C++, mecanismul care grupează mai multe date de tipuri DIFERITE sub un singur nume este struct. E cărămida cu care descrii lucruri reale: un elev, un punct, o carte.
Vrei să reții date despre un ELEV: numele, vârsta, clasa, media. Sunt de tipuri diferite — cum le ții împreună?
Datele unui elev, împrăștiate în patru variabile fără nicio legătură între ele. Pentru 30 de elevi ai avea nevoie de vectori paraleli — greu de ținut sincronizați.
Un elev = o „cutie" cu toate datele lui. Muți un elev întreg dintr-o mișcare.
Doi pași: (1) definești TIPUL nou (structura), (2) declari VARIABILE de acel tip. Trei forme, toate corecte:
Ca să ajungi la un câmp, scrii variabila.câmp. Completează câmpurile, apoi apasă o expresie și vezi ce „scoate":
✎ scrie în câmpuri — se actualizează live
Apasă o expresie C++:
Un elev v[30] e un TABEL: fiecare rând e un elev întreg. Accesezi cu v[i].câmp. Apasă expresiile:
Flowchart + cod + exemplu, rulate în paralel. Citim n elevi de la „tastatură" (câmp cu câmp!) și afișăm elevul cu media maximă.
📥 Date de intrare (ce „tastăm"): n, apoi pentru fiecare elev — numele și media
| n | — |
| i | — |
| pmax | — |
Un câmp poate fi el însuși un struct. Exemplu: un obiectiv turistic are o dată de început și una finală, fiecare cu zi și lună.
Aceeași idee, „a grupa date", în cele două limbaje. Ai făcut clasa la Modulul 11; iată corespondența.
| Concept | 🐍 Python — class | ⚙ C++ — struct |
|---|---|---|
| definirea tipului | class Elev: | struct elev { … }; |
| câmpuri (date) | self.varsta = v | int varsta; |
| creare obiect / variabilă | e = Elev("Ana", 20) | elev e; |
| acces la câmp | e.varsta | e.varsta |
| „colecție" de obiecte | lista = [Elev(...), ...] | elev v[30]; |
| metode (acțiuni) | def promovat(self): … | de obicei funcții separate care primesc structura |
Cinci grile în stilul examenului. Alege și vezi imediat de ce.
Tipul struct, condensat.
Setul de grile de tip BAC: declarări corecte, acces cu punct, atribuiri.
Vezi pe pbinfo.ro →Structuri cu date calendaristice — imbricare zi/lună, exact ca obiectivul turistic.
Caută pe pbinfo.ro →Trei programe în C++ cu struct. Scrie-le, compilează-le, testează-le.