应该在哪里执行小型,非常专业的任务?

时间:2016-02-17 17:06:14

标签: c++ oop

在我所做的最后几次快速编码挑战中,这个问题一直困扰着我。

我有一个名为Hourglass的类,它在构造函数中使用char表示大写字母(例如'D'),并且有一个方法print(),其打印类似于:

AAAAAAA
 BBBBB
  CCC
   D
  CCC
 BBBBB
AAAAAAA

打印看起来像是:

void Hourglass::print() const
{
    final int centreCol = (mFinalChar - 'A');

    for(char c = 'A'; c <= mFinalChar; ++c) {
        std::cout << computeLine(centreCol, c - 'A', c) << std::endl;
    }

    for (char c = mFinalChar - 1; c >= 'A'; --c) {
        std::cout << computeLine(centreCol, c - 'A', c) << std::endl;
    }
}

使用:

std::string computeLine(int centreColumn, int initialBlankSpaces, char characterToPrint) const;

computeLine()应该在哪里?它应该是类的私有成员(它不需要包含在对象中的任何信息)吗?它应该在类外的匿名命名空间中吗?我应该以某种方式避免使用这些方法吗?

我知道这可能是一个有点自以为是的主题,但我确信至少有一些争论可以指出我可以下定决心。

0 个答案:

没有答案