【发布时间】:2011-01-09 15:30:57
【问题描述】:
class Room{
public:
void ColorRoom(){};
};
class House{
public:
Room* GetRoom(){return &m_room;}
private:
Room m_room;
};
1) 没有房子,房间就不能存在,房子“有”房间。 (作曲)
2)另一种为房间着色的方法是在 House 中有一个方法,该方法将调用 ColorRoom in Room 方法,但这更多的是委托。 (我想避免这种情况)
我看到的唯一方法是上面的方法,但看起来返回对私有成员的引用正在破坏 OOP。这是个好设计吗?
【问题讨论】:
-
是的。查看“Universe Types”以了解此问题的一个建议解决方案。
标签: oop composition