我在C++中重載方法時遇到了一些麻煩。 作爲問題的一個例子,我有一個包含很多方法的類被重載,並且每個方法都有一個具有不同數據類型的參數。 我的問題:在類中是否存在這些方法應該出現的特定順序,以確保根據其參數數據類型調用正確的方法?函數/方法重載C++:數據類型混淆?
class SomeClass{
public:
...
void Method(bool paramater);
void Method(std::string paramater);
void Method(uint64_t paramater);
void Method(int64_t paramater);
void Method(uint8_t paramater);
void Method(int8_t paramater);
void Method(float paramater);
void Method(double paramater);
void Method(ClassXYZ paramater);
}
我注意到,因爲在運行時出現了問題:
Method("string");
有人呼籲:
Method(bool paramater);
這是完全惱人的。這個解決規則不能達到一個如此基本的概念。也許OP「通過聲明訂單」直觀的方法會做得更好。 – 2012-12-08 01:20:12