#include "HumanT.h" #include #include using namespace std; HumanT::HumanT(string newName) : name{newName} {}; string BardT::Greet() const { return "Hello, I am a BardT named " + name + "."; } string BardT::Perform() const { return "I am performing as a BardT"; } string SingerT::Greet() const { return "Hello, I am a SingerT named " + name + "."; } string SingerT::Perform() const { return "I am performing as a SingerT"; } string MagicHumanT::Greet() const { return "Hello, I am a MagicHumanT named " + name + "."; } string MagicHumanT::DoTricks() const { return "I am doing tricks as a MagicHumanT"; } string CardUserT::Greet() const { return "Hello, I am a CardUserT named " + name + "."; } string CardUserT::DoTricks() const { return "I am doing tricks as a CardUserT"; } string SingingCardUserT::Greet() const { // note, if i don't tell it which name to use it is confused. return "Hello, I am a SingingCardUserT named " + SingerT::name + " but I am also named " + CardUserT::name +"." ; } string SingingCardUserT::Perform() const { return "I am performing as a SingingCardUserT"; } string SingingCardUserT::DoTricks() const { return "I am doing tricks as a SingingCardUserT"; }