fork download
  1. #include <iostream>
  2. using namespace std;
  3. class Musician {
  4. public:
  5. void greet() {cout <<"Musician says : Hello\n";}
  6. virtual void play() {cout <<"Musician plays : Mmm mmm\n";}
  7. };
  8. class Trumpeter : public Musician {
  9. public:
  10. void greet() {
  11. cout <<"Trumpeter says : What's up\n";
  12. }
  13. void play() {
  14. cout <<"Trumpeter plays : Toot toot\n";
  15. }
  16. };
  17. class Flutist : public Musician {
  18. public:
  19. void greet() {cout <<"Flutist says: how do you do\n";}
  20. void play() {cout <<"Flutist plays: tweet tweet \n";}
  21. };
  22. int main(int argc, char* argv[]){ Musician m, *pm;
  23. Trumpeter t;
  24. Flutist f;
  25. m.greet(); m.play();
  26. t.greet(); t.play();
  27. f.greet(); f.play();
  28. pm = &t; pm->greet(); pm->play();
  29. pm = &f; pm->greet(); pm->play();
  30. }
Success #stdin #stdout 0s 3096KB
stdin
Standard input is empty
stdout
Musician says : Hello
Musician plays : Mmm mmm
Trumpeter says : What's up
Trumpeter plays : Toot toot
Flutist says: how do you do
Flutist plays: tweet tweet 
Musician says : Hello
Trumpeter plays : Toot toot
Musician says : Hello
Flutist plays: tweet tweet