Возможно, но я не уверен, что это метод, который я бы рекомендовал начинающим. Как и в других случаях, когда вы хотите, чтобы выбор функций зависел от того, как используется возвращаемое значение, вы используете прокси; сначала определите такие функции, как getChar
и getInt
, затем общий get()
, который возвращает прокси, например:
class Proxy
{
My const* myOwner;
public:
Proxy( My const* owner ) : myOwner( owner ) {}
operator int() const
{
return myOwner->getInt();
}
operator char() const
{
return myOwner->getChar();
}
};
Расширяет его до такого количества типов, которое вам нужно.