一个新的婴儿贺卡的C ++代码片段

时间:2010-03-06 08:13:51

标签: c++

我的一位朋友给我发了这段代码片段来庆祝他的新生婴儿:

void new_baby_name() { father_surname++; }

该片段是从他的角度来看,他是父亲,新生儿从他那里得到了姓氏。

我回答说:

class father_name {};
class mother_name {};
class new_baby_name: public father_name, public mother_name {};

但我对我的回答并不完全满意......

4 个答案:

答案 0 :(得分:30)

正确答复是:

Sleep(0);

答案 1 :(得分:8)

class baby
{
public:
    vector<gene> genes;
    baby(baby* logical_father, baby* biological_mother, baby* other)
    {

        int i;
        if (other == null)
        {
            for (i = 0; i < logical_father->genes.size())
            {
                if (rand() > 0.5)
                {
                    genes.push_back(logical_father->genes[i]);
                }
                else
                {
                    genes.push_back(biological_mother->genes[i]);
                }
            }
        }
        else
        {
            for (i = 0; i < other->genes.size())
            {
                if (rand() > 0.5)
                {
                    genes.push_back(other->genes[i]);
                }
                else
                {
                    genes.push_back(biological_mother->genes[i]);
                }
            }
        }
    }
}

当然,还有其他建造婴儿的方法。

答案 2 :(得分:1)

destroy Sanity();

可能无法运行,可能会堆栈溢出。我不擅长c。

答案 3 :(得分:0)

只是一个小错误修正,以避免错误的名称:

class male {};
class female {};

class father_name {};
class mother_name {};

template <class gender>
class new_baby_name;

template <>
class new_baby_name<male>: public father_name {};

template <>
class new_baby_name<female>: public mother_name {};

请注意,如果这会引发编译器错误,则会出现严重问题; - )