自学c++碰到解不了的题

一对夫妻有一笔公共财产,每人都有私房钱。他们有个child,继承了两人所有财产,包括私房钱。要求定义四个类,分别表示公共财产,夫,妻,child;要求公共财产有public成员balance;丈夫和妻子私房钱属性private;main函数中定义child c;通过c.balance可以直接获得公共财产余额;child类中有成员函数可让child对象获得其所有财产

示例代码,未经测试


struct PublicFinance {
  int moneny;
};

class Child;

class Husband {
  public:
    PublicFinance * pubMoneny;
  private:
    int selfMoneny;
  public:
    Husband(int self, PublicFinance * pub): pubMoneny(pub), selfMoneny(self) {}
  friend class Child;
};

class Wife {
  public:
    PublicFinance * pubMoneny;
  private:
    int selfMoneny;
  public:
    Wife(int self, PublicFinance * pub): pubMoneny(pub), selfMoneny(self) {}
  friend class Child;
};

class Child {
  Husband dad;
  Wife mom;
  Child(const Husband & h, const Wife & w) : dad(h), mom(w) {}

  getMoneny() {
    return dad.pubMoneny->moneny + dad.selfMoneny + mom.self.Moneny;
  }
};

void test() {
  PublicFinance pub;
  pub.moneny = 3;
  Husband h(100, &pub);
  Wife w(40, &pub);
  Child c(h, w);
  cout << c.getMoneny() << endl;
}