Я пытаюсь написать класс С++ с некоторыми перегруженными методами:
class Output
{
public:
static void Print(bool value)
{
std::cout << value ? "True" : "False";
}
static void Print(std::string value)
{
std::cout << value;
}
};
Теперь скажем, что я вызываю метод следующим образом:
Output::Print("Hello World");
это результат
True
Итак, почему, когда я определил, что метод может принимать значение boolean и string, использует ли он булевскую перегрузку, когда я передаю небулево значение?
EDIT: Я пришел из среды С#/Java, поэтому совершенно новый для С++!