12.07.2015 Views

Cursul POO - Informatica aplicata si programare - Universitatea ...

Cursul POO - Informatica aplicata si programare - Universitatea ...

Cursul POO - Informatica aplicata si programare - Universitatea ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

18Curs 1-2. Să ne reamintim …Ce observăm? FuncŃiile inccoordx() şi incoordy() nu fac altceva decât săincrementeze câmpul corespunzător al structurii de date. De asemenea, se observă căvariabila statică este iniŃializată înainte de folo<strong>si</strong>re şi mai mult, valoarea ei poate fiafişată înainte de declararea unui obiect al clasei. Rezultatul execuŃiei programuluieste prezentat în fig. 1.21.variabila statică există şi dacă nueste declarat nici un obiectvariabila statică estevariabila nestatică estecomună obiectelor, esteproprie fiecărui obiectdeci o caracteristică aîn parteclaseiFig. 1.21. Variabilele statice sunt atribute ale claseiDe ce coordx ia valoarea 12 după operaŃiile de incrementare? Pentru că ea este unatribut al clasei! Variabila statică va fi incrementată o dată prin apelarea funcŃiei deincrementare prin punct1 şi o dată prin punct2. Variabila nestatică este, după cum sevede un atribut al obiectului, ea este instanŃiată şi incrementată separat pentru fiecareobiect în parte (fig. 1.22).&punct1.coordy11&punct2.coordy11&punct1.coordx11 12memorie&punct2.coordxFig. 1.22 Variabila statică este comunăobiectelorAcum, să mai facem o modificare în fişierul de declarare a clasei. Să declarămfuncŃia incoordx() ca funcŃie statică:class punct_plan{int coordy;public:static int coordx;void setcoordy(int cy);int getcoordy();static void inccoordy();void inccoordx();};

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!