我正在考虑为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;
};