template<typename gender_of_sex_parnter>
sex_partner* find_a_partner(gender_of_sex_partner gender)
{
sex_partner* sp = new sex_partner();
sp->setGender(gender);
return sp;
}
template<typename gender_of_sex_parnter>
void dream(gender_of_sex_parnter gender)
{
int stamina = 20111111;
do
{
sex_partner* sp = find_a_partner<gender_of_sex_parnter>(gender);
if(sp != NULL)
{
(Fornication Under Consent of the King) (*sp) in and out once;
speakoutstream << "R...O...O...M" << endl;
--stamina;
}
}while(!stamina);
delete sp;
return;
}
void SLEEP(gender parnter_gender)
{
Thread dream_thread = new Thread(dream<gender_of_sex_parnter>(partner_gender));
dream_thread.start();
// ...
}
int main(void)
{
if(getSystemDate() == 光棍节)
{
if(You have a partner)
{
throw Exception("What a pity, you are not 光棍 anymore, it's not your day!");
}
else
{
SLEEP(female); // please modify the argument to opposite sex or according to
// your own special taste.
}
}
return 0;
}
