(S)ound (D)evelopment (I)nvention
Visit the Developers Delight website
Click here to read more about me
//! Enummeration of gender types
enum EGenderType
{
EGT_FEMALE = 0,
EGT_MALE,
EGT_TRANNY, // =)
/* ... */
};
//! Enummeration of language types
enum ELanguageType
{
ELT_GERMAN = 0,
ELT_ENGLISH,
ELT_RUSSIAN,
ELT_OTHERS,
};
//! Base class Human
class Human
{
public:
Human(const std::string &_bdate, EGenderType _type, ELanguageType _langType)
: m_birthDate(bdate), m_gender(_type), m_nativeLanguage(_langType)
{}
virtual ~Human()
{}
virtual void addLanguage(ELanguageType _type)
{
m_languages.push_back(_type);
}
private:
std::string m_birthDate;
EGenderType m_gender;
ELanguageType m_nativeLanguage;
std::vector<ELanguageType> m_languages;
};
//! Class Sdi implementation
class Sdi : public Human
{
public:
Sdi()
: Human("14.10.1976", EGT_MALE, ELT_GERMAN)
{}
virtual ~Sdi()
{}
protected:
private:
int m_age;
EGenderType m_eGender;
};