Программа выводит информацию о дате рождения.
Есть класс Date и унаследованный от него Birthday.
В конструктор класса Birthday нужно передать три значения типа int, для дня, месяца и года соответственно. Если передавать значения вручную прямо из программы - все прекрасно. Но если доверить пользователю самому вводить эти значения с клавиатуры (что логично) и записывать их в какие-либо переменные, а потом передавать значения этих переменных в конструктор - появляется возможность ввода данных любых типов, приводимых к int. Как проверить, что пользователь действительно ввёл с клавиатуры целые числа? И если введены недопустимые значения (Например, буква или же строка, содержащая буквы, и т.д) обработать ошибку с помощью try - catch - throw?


#include
#include

using namespace std;

class Date
{
protected:
int day, month, year;
public:
Date ()
{
day = 0;
month = 0;
year = 0;
}

void info ()
{
cout«"day: "«day«endl;
cout«"month: "«month«endl;
cout«"year: "«year«endl;
cout«endl;
}
};

class Birthday : public Date {
public:
Birthday (int d_day, int m_month, int y_year){
day = d_day;
month = m_month;
year = y_year;
}
};


int main()
{

Birthday Ilya(17,10,1999);
Birthday Alina(5,2,1999);
Birthday Angelina(5,2,1999);

Ilya.info();
Alina.info();
Angelina.info();

return 0;
}
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Answers & Comments


Copyright © 2024 SCHOLAR.TIPS - All rights reserved.