Code:
#include <iostream>
class Human
{
public:
enum gender {male, female}; //public, so they would be accessible in mai
n()
Human(gender g): m_gender(g) {}
~Human() {};
gender getGender() //or should it return int?
{
return m_gender;
}
private:
gender m_gender; // actual gender, therefore private
};
std::ostream& operator<<(std::ostream& os, const Human::gender gender)
{
switch( gender )
{
case Human::male:
os << "Male";
break;
case Human::female:
os << "Female";
break;
default:
os << "Unknown";
break;
};
return(os);
}
int main()
{
Human man(Human::male); //is this right?
Human woman(Human::female);
std::cout << man.getGender() << " " << woman.getGender() <<
std::endl;
std::cin.get();
}