我们假设我有以下文件:
矩形,三角形和圆形都将具有calculateArea
的不同实现,但它们都共享getNumSides
的相同功能。你把getNumSides
放在哪里?
如果有人可以帮我设计这个
会很好答案 0 :(得分:3)
制作抽象类多边形并在其中定义getNumSides()
。函数calculateArea()
应该是类polygon
中的纯虚函数。当您派生rectangle
,triangle
和circle
类时,请将calculateArea()
的实现放在其中。
答案 1 :(得分:0)
一种常见的方案是保留每个类的一个头/源文件,并使基本文件名指示它包含的类的名称,例如:
类Polygon在名为Polygon.h的头文件中声明,其源文件在Polygon.cpp中,Rectangle.h中的Rectangle类和Rectangle.cpp等。
当你开始有很多课程时,任何其他方案似乎都会引起一些麻烦。