int、float、または string のいずれかを保持するコンテナー オブジェクトがあります。同様の方法で処理されるこれらのコンテナーのキューがあります。現時点では、データ型ごとに個別のゲッターがあります。各コンテナー インスタンスが一度に 1 つのデータ型しか保持しないことを考えると、これは特に洗練されたものではありません。
class MyContainer
{
MyContainer(float value);
MyContainer(int value);
MyContainer(string value);
int getIntValue();
float getFloatValue();
string getStringValue();
}
void processContainer(MyContainer& container)
{
// the following will not work, but is desired:
process(container->getValue()); // compilation error
}
void process(int value) {}
void process(float value) {}
void process(string value) {}
上記のプロセス メソッドのパラメーターのオーバーロードを悪用する方法はありますか? たとえば、簡単に process(container->getValue()) を呼び出せるようになる方法はありますか?