-6

我想创建一个可以动态添加家庭成员及其与该成员的关系的类。

例如:

在一个家庭中,父亲是成员之一,他的妻子是另一个成员,他们有孩子。但是每个家庭的孩子数量是不同的(例如只有一个儿子/只有一个女儿/一个儿子一个女儿等等)。因此,儿童人数在运行时间决定了。

我有一张桌子:

  • 成员表:将存储所有成员的详细信息,例如 member_reference_number、姓名、地址、电话号码等。member_reference_number 是一个主键,用于标识数据库中的唯一成员。此表适用于任何成员(父亲、母亲、儿子、女儿等)。

我想使用该 member_reference_number 来显示关系。

4

2 回答 2

1

面向对象+继承可以帮助你。我认为您的意思是这种结构:

class Person
{};

class Father : public Person
{};

class Mother : public Person
{};

class Child : public Father, public Mother
{};

class Son : public Child
{};

class Daughter: public Child
{};

class Family
{
  Father father;
  Mother mother;
  std::vector<Child> children;
};

 

              +------------------+               
              |       Person     |               
              +------------------+               
                ^             ^                  
                |             |                  
                |             |                  
                \             \                  
 +------------------+      +------------------+  
 |     Father       |      |     Mother       |  
 +------------------+      +------------------+  
                 ^            ^                  
                 |            |                  
                 |            |                  
                 |            |                  
                 \            \                  
              +------------------+               
              |     Child        |               
              +------------------+               
                 ^           ^                   
                 |           |                   
                 |           |                   
                 \           \                   
 +------------------+      +------------------+  
 |     Son          |      |    Daughter      |  
 +------------------+      +------------------+  
于 2013-04-23T04:51:08.787 回答
0

我认为您可以使用 FamilyTreeNode 拥有树。

FamilyTreeNode(结构)可以在哪里

-> 男性--String

-> 女性--String

-> NumberOfChildern --int

-> Children——FamilyTreeNodes 数组(动态数组)。

在这里,如果有人未婚,则将 opp 性别设为 null。

于 2013-04-23T04:57:17.173 回答