私は次のインターフェースを持っています
virtual void send_command( const std::string& command, const std::string& key, const std::string& value, bool pipeline = true );
virtual void send_command( const std::string& command, const std::string& key, bool pipeline = true );
virtual void send_command( const std::string& command, bool pipeline = true );
これは、次のように呼び出す 1 つのクラスに完全に実装されています。
c.send_command("MUTLI");
c.send_command("SET", "foo", "bar");
c.send_command("GET", "foo");
c.send_command("EXEC");
get が呼び出されたメソッド実装を確認すると、3 番目の呼び出し ( GET foo ) が最終的に最後の実装にヒットすることがわかります。
virtual void send_command( const std::string& command, bool pipeline = true );
ここで、「foo」は暗黙的に bool に変換されます。2 番目の実装 (string、string、bool) にヒットする"SET"、"foo"、"bar"についても同じことがカウントされます。
c.send_command("GET", (std::string)"foo");
期待されるメソッドが呼び出されます。
C++11 で gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) を使用しています。