class Eye
{
public:
void Look(void);
};
|
class Nose
{
public:
void Smell(void);
};
|
class Mouth
{
public:
void Eat(void);
};
|
class Ear
{
public:
void Listen(void);
};
|
// 正确的设计,虽然代码冗长。
class Head
{
public:
void Look(void) { m_eye.Look(); }
void Smell(void) { m_nose.Smell(); }
void Eat(void) { m_mouth.Eat(); }
void Listen(void) { m_ear.Listen(); }
private:
Eye m_eye;
Nose m_nose;
Mouth m_mouth;
Ear m_ear;
};
|
// 功能正确并且代码简洁,但是设计方法不对。
class Head : public Eye, public Nose, public Mouth, public Ear
{
};
|