Differences

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

Link to this comparison view

poo-is:laboratoare:02 [2020/10/01 12:05]
alexandru.ionita99 [3. Functii membre ale unei structuri]
poo-is:laboratoare:02 [2020/10/01 12:27] (current)
alexandru.ionita99 [3. Functii membre ale unei structuri]
Line 50: Line 50:
  
 Pentru a modifica campurile unei variabile de tip struct, putem utiliza **functiile membre** (**metode**). Aceste functii au urmatoarele caracteristici:​ \\ Pentru a modifica campurile unei variabile de tip struct, putem utiliza **functiile membre** (**metode**). Aceste functii au urmatoarele caracteristici:​ \\
-  * variabila struct asupra careia se lucreaza nu este data ca parametru+  * variabila struct asupra careia se lucreaza ​**nu** este data ca parametru 
 +  * nu cresc dimensiunea tipului de date 
 +  * au acces direct la campurile structurii, inclusiv cele declarate **private** 
 + 
 +Vom prezenta un exemplu de utilizare al acestor functii. Utilitatea lor se va vedea mai bine in cazul programarii obiectuale. \\ 
 +Exemplul poate fi rulat [[https://​repl.it/​@alexionita99/​lab2struct|aici]] 
 + 
 +<code cpp> 
 +#include <​iostream>​ 
 +#include <​cstdlib>​ 
 + 
 +using namespace std; 
 + 
 +struct point{ 
 +  private: //altfel, sunt implicit public 
 +    int x; 
 +    int y; 
 +  public: //pentru a fi vizibile de oriunde 
 +    void modificare(int,​ int); //​implementarile functiilor se face 
 +    void afisare(); ​           //dupa definirea structurii 
 +}; 
 + 
 +//​Implementarea metodelor din struct 
 +void point::​modificare(int xx, int yy) 
 +
 +  x = xx; //functiile membre au acces la campurile private 
 +  y = yy; 
 +
 + 
 +void point::​afisare() 
 +
 +  cout << x << " " << y << endl; 
 +
 + 
 + 
 +int main()  
 +
 +  point p; //​declararea unei variabile de tip struct point 
 +   
 +  //Apelam metodele pentru variabila p. Nu o dam ca parametru:​ 
 +   
 +  p.afisare();​ //va afisa ce se afla in memorie, la adresele campurilor x si y 
 + 
 +  p.modificare(3,​ 3); //modificam valorile lui x si y folosind functia membra 
 + 
 +  p.afisare();​ //va afisa noile valori 3 si 3 
 + 
 +  return 0; 
 +
 + 
 +</​code>​
 ===== 4. Functii Inline ===== ===== 4. Functii Inline =====
  
poo-is/laboratoare/02.1601543137.txt.gz · Last modified: 2020/10/01 12:05 by alexandru.ionita99
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