,请详细讲解这段话为什么

来源:百度知道 编辑:UC知道 时间:2024/05/29 06:42:03
// 功能正确并且代码简洁,但是设计方法不对。
class Head : public Eye, public Nose, public Mouth, public Ear
{
};

这是高质量C++编程指南中的一段话?

// 功能正确并且代码简洁,但是设计方法不对。
class Head : public Eye, public Nose, public Mouth, public Ear
{
};

确实不对,从代码级来看,上面的代码确实没有问题。
但是从程序的意义上来说,就有问题了。

头不能从眼、鼻、口、耳继承来,也就是说,头并不是从眼、鼻、口、耳四个器官衍生而来的。

正确的做法应该是:头包含了眼、鼻、口、耳四个器官。在OOP中,应该使用“组合”。代码如下:
class Head
{
Eye eye;
Nose nose;
Mouth mouth;
Ear ear;
};

继承关系设计的不对。

头部是从眼、鼻、口、耳继承的吗,反了吧?

就是说你的语句虽然能够完成任务,但是过于有针对性,对于其他程序的书写没有多少帮助,或是说,你的这句,对你今后对c++理解和进修起起不到帮助。你应该按照常规方法重新书写。要养成一个好的习惯。 但是,你的这个语句的完成还是有可赞赏的一面的,但不提倡。