I got these 2 errors in my code after implementing the derived class's constructor:
Error 1 error C2512: 'Show' : no appropriate default constructor available c:\users\hebrew\documents\visual studio 2010\projects\targeel3\targeel3\concert.cpp 4
2 IntelliSense: no default constructor exists for class "Show" c:\users\hebrew\documents\visual studio 2010\projects\targeel3\targeel3\concert.cpp 4
The issue is not the desctructor. list<> will clean itself up.
Concert derives from Show. Concert's constructor must call Show's constructor. Since you didn't call Show's three argument constructor explictly, Show must provide a default constructor. However, Show does not have a default constructor. That is what the compiler error is trying to tell you.
On an unrelated note - I would suggest thinking about exactly what a 'Show' is supposed to represent, and how you would classify what a 'Performer' and a 'Musician' represents.
Currently every one of your 'Show' objects are storing a list<Show> within the Show class itself. This suggests that a Show can contain many Shows, which in turn can each contain many Shows, etc ad infinitum.
It seems to me that a 'Performer' and a 'Musician' would be a separate entity completely unrelated to Show - perhaps you're intending to create Performer and Musician as seperate classes and store List<Performer> and List<Musician> instead?