Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avAnton Eklund
1
Sid 1 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Konstanter float pi; const float pi = 3.14159; float *pip = π //Kompileringsfel! const float *pip = π //pekare till konstant objekt //(får även peka på icke-konstant objekt som då ej kan //ändras via pekaren) char *const buffer = &buf; // Konstant pekare, pekar // alltid på samma buffert. const char * const myProg = argv[0]; //Konstant pekare till konstant objekt Utan #define!
2
Sid 2 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Konstanta objekt const MinKlass mittobj(xxx); får inte förändras när de väl skapats. mittobj.strul(); // Ändringsförsök?? Hur håller kompilatorn/ programmeraren reda på vad medlemsfunktionerna gör?
3
Sid 3 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Konstanta objekt forts class MinKlass { entyp aendra(xxx); annantyp kolla() const; private: // diverse data } MinKlass::kolla() const { // Kompileringsfel om man försöker ändra i klassdata! }... const MinKlass a(xxx); a.aendra(ppp); // Kompileringsfel!
4
Sid 4 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Konstanta objekt forts class MinKlass { entyp aendra(xxx); annantyp kolla() const; private: osaeker *data; } class MinVektorKlass { mutable int index; // Hjälpvariabel som får ändras utan att objektets egentliga tillstånd påverkas search(xtype key, int &foundPos) const { foundPos = 0; for (index=0; index<max; index++) if (vec[index] = = key) {foundPos = index; return;} }
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.