一对夫妻有一笔公共财产,每人都有私房钱。他们有个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;
}