我正在尝试学习如何将c ++ 11用户定义的文字用于物理属性单元.问题是,我如何避免混合这些单位.所以(8.0_kg + 8.0_km) - >给出错误.任何想法的家伙?我是c ++的新手,善良.
class Mass{
public:
//Mass(){
// cout << "only Mass units allowed in here" << endl;
//}
//~Mass();
long double getWeight(long double a);
double car, house, cat;
private:
long double a;
};
long double Mass::getWeight(long double w) {
cout << "returning argument: " << w << '\n'<< endl;
return 0;
}
long double operator"" _km(long double d) { return d * 1000.0; }
long double operator"" _m (long double d) {return d;}
long …Run Code Online (Sandbox Code Playgroud)