我正在考虑为lbs创建一个类,为kg创建一个单独的类,它们都继承自整数,但不向其添加任何内容。这将允许编译器验证将正确的单元传递给函数。

这是最好的方法还是有更好的方法呢?

最佳答案

就我个人而言,我将拥有一个名为Mass或类似名称的类,并具有将以一个单位或另一个单位返回对象值的方法。

class Mass
{
public:
  Mass()
    : mMassKG(0) {}
  ~Mass() {}

  int kilograms() const { return mMassKG; }
  int pounds() const { return mMassKG * 2.2; }

  void setKilograms(int kg) { mMassKG = kg; }
  void setPounds(int lbs) { mMassKG = lbs / 2.2; }

private:
  int mMassKG;
};

10-08 18:54