我知道 C++ 中没有基于返回类型的合法重载;即你不能做类似的事情:
int operator ++ getOwner();
char operator ++ getOwner();
但是,我偶然发现了以下内容:
https://stackoverflow.com/a/9569120/1376317
class Proxy
{
My const* myOwner;
public:
Proxy( My const* owner ) : myOwner( owner ) {}
operator int() const
{
return myOwner->getInt();
}
operator char() const
{
return myOwner->getChar();
}
};
我的问题是运算符重载如何在此配置中工作。你如何在你的 main.cpp 中调用它来获得这种重载。编译器如何推导,如何调用正确的重载?