下面提到的问题最好的算法是什么?矢量问题算法
实现方法PrintFamilyTree()打印出
输出应类似于树的名称和代
名称:扬代:0
名称:麦克代:1
名称:格雷格代:2
名称:卡罗尔:代:2
名称:彼得·代:3
名称:玛西娅代:3
角色:Bobby代:1
class Human : public std::vector<Human *>
{
public:
Human(const std::string &name) : m_Name(name) {};
virtual void PrintFamilyTree(const short &generation = 0) const;
protected:
std::string m_Name;
};
class Male: public Human
{
public:
Male(const std::string &name) : Human(name) {};
};
class Female: public Human
{
public:
Female(const std::string &name) : Human(name) {};
};
void main()
{
Male m1("Mike"), m2("Greg"), m3("Peter"), m4("Bobby");
Female f1("Carol"), f2("Marcia"), f3("Jan");
m1.push_back(&m2);
f1.push_back(&m3);
f1.push_back(&f2);
m1.push_back(&f1);
f3.push_back(&m1);
f3.push_back(&m4);
f3.PrintFamilyTree();
}
看起来像功课吗? – Guge 2009-11-24 07:13:19
你真的不应该继承STL容器... – 2009-11-24 07:13:51
作为一个方面说明:你不应该从std-containers(因为它们没有虚拟dtors)派生出来,而是......做一个适配器类:) – Christian 2009-11-24 07:14:35