Index of /~TDDI14/lecture/examples/P-E-M-C
Kodexempel för föreläsning 3-4
------------------------------------------------------------------------
Person
------
Person är en abstrakt, polymorf basklass.
Det är viktigt att deklarera en virtual destruktor för en polymorf basklass.
Kompilatorgenerateds destruktorer för subklasser kommer att bli virtual.
Kontruktorn som tar ett namn och ett personnummer är deklareras protected
för att understryka att Person är en abstrakt klass. Inga publika
konstruktorer behövs.
Kopieringskonstruktorn deklareras protected och defaulted. Ska inte vara
tillåten som publik operation, men ska användas av clone() och subklassers
kopieringskonstruktorer. Move-konstruktorn tillåts också på samma premisser.
Kopieringstilldelningsoperatorn och move-tilldelningsoperatorn deklareras
deleted, i public-delen. Försök att använda dem ger kompileringsfel.
Employee, Manager, Consultant
-----------------------------
Konkreta subklasser till Person.
Anm.
----
Koden är anpassad för C++11 (så långt möjligt 2013-04-02, GCC 4.8.0).
------------------------------------------------------------------------