/* * Mammal.h * * Created on: May 25, 2009 * Author: mac */ #ifndef MAMMAL_H_ #define MAMMAL_H_ #include #include "mammal_traits.h" class Mammal { typedef mammal_traits traits; protected: std::string label; public: Mammal() : label("unnamed mammal") {} Mammal(const char *str) : label(str) {} virtual ~Mammal() {} void study() { std::cout << label << ": "; traits.study(*this); } }; #endif /* MAMMAL_H_ */