-6

家族とそのメンバーとの関係を動的に追加できるクラスを作成したいと考えています。

例えば:

家族の中で、父はメンバーの一人であり、彼の妻は別のメンバーであり、彼らには子供がいます. ただし、各家庭の子供の数は異なります (たとえば、息子が 1 人のみ、娘が 1 人のみ、息子が 1 人、娘が 1 人など)。したがって、子の数は実行時に決定されます。

私は1つのテーブルを持っています:

  • メンバー テーブル: 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 の配列 (動的配列)。

ここで、結婚していない人がいたら、相手の性別を無効にします。

于 2013-04-23T04:57:17.173 に答える