class cMoney
{
private:
long double value;
cMoney(long double money): value(money) {}
public:
cMoney() : value(0) {}
cMoney(const cMoney& money): value(money.value) {}
friend cMoney operator"" _usd(long double val);
friend cMoney operator"" _inr(long double val);
};
cMoney operator"" _usd(long double val)
{
return cMoney(val);
}
cMoney operator"" _inr(long double val)
{
return cMoney(val * 65);
}
//...
int main()
{
//cMoney m1(10);
cMoney m2(10.5_inr);
return 0;
}
Y2xhc3MgY01vbmV5CnsKICAgICAgICAgIHByaXZhdGU6CiAgICAgICAgICBsb25nIGRvdWJsZSB2YWx1ZTsgCiAgICAgICAgICBjTW9uZXkobG9uZyBkb3VibGUgbW9uZXkpOiB2YWx1ZShtb25leSkge30KICAgICAgICAgIHB1YmxpYzoKICAgICAgICAgIGNNb25leSgpIDogdmFsdWUoMCkge30gCiAgICAgICAgICBjTW9uZXkoY29uc3QgY01vbmV5JiBtb25leSk6IHZhbHVlKG1vbmV5LnZhbHVlKSB7fQogICAgICAgICAgZnJpZW5kIGNNb25leSBvcGVyYXRvciIiIF91c2QobG9uZyBkb3VibGUgdmFsKTsKICAgICAgICAgIGZyaWVuZCBjTW9uZXkgb3BlcmF0b3IiIiBfaW5yKGxvbmcgZG91YmxlIHZhbCk7Cn07CgpjTW9uZXkgb3BlcmF0b3IiIiBfdXNkKGxvbmcgZG91YmxlIHZhbCkKewogICAgICAgICAgcmV0dXJuIGNNb25leSh2YWwpOwp9CgpjTW9uZXkgb3BlcmF0b3IiIiBfaW5yKGxvbmcgZG91YmxlIHZhbCkKewogICAgICAgICAgcmV0dXJuIGNNb25leSh2YWwgKiA2NSk7Cn0KLy8uLi4KaW50IG1haW4oKQp7Ci8vY01vbmV5IG0xKDEwKTsgCmNNb25leSBtMigxMC41X2lucik7IApyZXR1cm4gMDsKfQ==