Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avKlara Henriksson
1
Sid 1 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Multipelt arv Drawable draw() move() position bitmap Persistent save() restore() storage_file_name object_id Box length width Circle center radius Line end_a end_b Persistent_drawable
2
Sid 2 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Multipelt arv: iostream istream ostream iostream ifstream ofstream fstream class ostream : public ios ios format_state condition_state locale streambuf gcountxxx yyy class iostream : public istream, public ostream class istream : public ios (inte riktigt rätt)
3
Sid 3 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT över- klass- delen från ios format_state condition_state locale streambuf gcount istreams “egen” underklassbit format_state condition_state locale streambuf xxx över- klass- delen från ios ostreams “egen” underklassbit istream object ostream object iostream object ??? format_state condition_state locale streambuf gcount format_state condition_state locale streambuf xxx yyy från ostream från istream iostreams “egen” underklassbit Kompileringsfel - dock endast vid försök att accessa de dubblerade delarna!
4
Sid 4 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Multipelt arv: iostream istream ostream iostream ifstream ofstream fstream class ostream : virtual public ios ios format_state condition_state locale streambuf gcountxxx yyy class iostream : public istream, public ostream class istream : virtual public ios med virtual inheritance
5
Sid 5 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Virtual inheritance iostream object format_state condition_state locale streambuf gcount xxx yyy iostreams “egen” underklassbit en enda ios-bit! från istream från ostream virtuell basklass
6
Sid 6 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Konstruktor-destruktor och arv När ett objekt skapas sker följande: 1. Konstruktorn för ev. överklass anropas alltid först. 2. Konstruktorerna för den aktuella klassens datamedlemmar anropas 3. Satserna i den aktuella klassens konstruktor exekveras. När ett objekt tas bort sker följande: 1. Satserna i den aktuella klassens destruktor exekveras. 2. Destruktorerna för den aktuella klassens datamedlemmar anropas 3. Destruktorn för ev. överklass anropas. i deriveringslistans turordning baklänges enligt deriveringslistans turordning multipelt
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.