Presentation laddar. Vänta.

Presentation laddar. Vänta.

Sid 1 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Multipelt arv Drawable draw() move() position bitmap Persistent save() restore() storage_file_name.

Liknande presentationer


En presentation över ämnet: "Sid 1 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Multipelt arv Drawable draw() move() position bitmap Persistent save() restore() storage_file_name."— Presentationens avskrift:

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


Ladda ner ppt "Sid 1 2000-period2CD5250 OOP med C++ Mats Medin MDH/IDT Multipelt arv Drawable draw() move() position bitmap Persistent save() restore() storage_file_name."

Liknande presentationer


Google-annonser