Итак, у меня есть 3 функции:
void bookings(const std::string name, const Date& date)const;
void bookings(const std::string name)const;
void bookings(const Date& date)const;
Я хочу использовать их 3 разными способами. Во-первых, если я передам имя и дату, чтобы использовать первую функцию. Второе, если я передаю только имя, чтобы использовать вторую функцию, и если я передаю только дату, чтобы использовать третью функцию. Я использую консоль для передачи аргументов. Есть ли способ сделать это? Я пишу это:
std::string event, name;
int d, m, y;
std::cout << "event: ";
std::getline(std::cin, event);
std::cout << "date: ";
std::cin >> d >> m >> y;
if (event == "")
{
bookings(Date(d, m, y));
}
else if (d > 0 && m>0 && y>0)
{
bookings(event, Date(d, m, y));
}
else
{
bookings(event);
}
, но в случае, когда я не сдаю, дата не работает. Я знаю, что это что-то с аргументами даты и что в этом случае они не определены. Есть ли способ это исправить?