我的一个朋友给我发了这段代码片段来庆祝他的新生婴儿:
void new_baby_name() { father_surname++; }
Run Code Online (Sandbox Code Playgroud)
该片段是从他的角度来看,他是父亲,新生儿从他那里得到了姓氏.
我回答说:
class father_name {};
class mother_name {};
class new_baby_name: public father_name, public mother_name {};
Run Code Online (Sandbox Code Playgroud)
但我对我的回答并不完全满意......
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]);
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当然,还有其他构建婴儿的方法.