1个头文件,3个CPP文件。你把共同的功能放在哪里?

时间:2018-05-10 02:20:34

标签: c++

我们假设我有以下文件:

  • polygon.h
  • rectangle.cpp
  • triangle.cpp
  • circle.cpp

矩形,三角形和圆形都将具有calculateArea的不同实现,但它们都共享getNumSides的相同功能。你把getNumSides放在哪里?

如果有人可以帮我设计这个

会很好

2 个答案:

答案 0 :(得分:3)

制作抽象类多边形并在其中定义getNumSides()。函数calculateArea()应该是类polygon中的纯虚函数。当您派生rectangletrianglecircle类时,请将calculateArea()的实现放在其中。

答案 1 :(得分:0)

一种常见的方案是保留每个类的一个头/源文件,并使基本文件名指示它包含的类的名称,例如:

类Polygon在名为Polygon.h的头文件中声明,其源文件在Polygon.cpp中,Rectangle.h中的Rectangle类和Rectangle.cpp等。

当你开始有很多课程时,任何其他方案似乎都会引起一些麻烦。