Цель
В этом задании мы узнаем о разнице между классом и экземпляром; поскольку это объектно-ориентированная концепция, она доступна только на определенных языках. Во вкладке Обучение вы найдете учебные материалы и обучающее видео!

Задача
Напишите класс Person с переменной экземпляра age и конструктором, который принимает целое число initialAge в качестве параметра. . Конструктор должен присвоить initialAge age после подтверждения того, что аргумент, переданный как initialAge, не является отрицательным; если в качестве initialAge передается отрицательный аргумент, конструктор должен установить для age значение 0 и вывести Age is not valid, setting age to 0.. Кроме того, вы должны написать следующие методы экземпляра:

  1. yearPasses() должен увеличить переменную экземпляра age на 1.
  2. amIOld() должен выполнять следующие условные действия:
  • Если возраст ‹ 13, выведите You are young..
  • Если возраст ≥ 13 и возраст ‹ 18, выведите You are a teenager..
  • В противном случае выведите You are old..

Чтобы помочь вам учиться на примерах и решать эту задачу, большая часть кода предоставляется вам, но вы будете писать все в будущем. Код, который создает каждый экземпляр вашего класса Person, находится в основном методе. Не волнуйтесь, если вы еще не все понимаете!

Примечание. Не удаляйте и не изменяйте код-заглушку в редакторе.

Формат ввода

Ввод обрабатывается кодом-заглушкой в ​​редакторе.

Первая строка содержит целое число T (количество тестов), а каждая из последующих строк T содержит целое число, обозначающее возраст экземпляр Person.

Ограничения

  • 1 ≤ T ≤ 4
  • -5 ≤ возраст ≤ 30 лет

Формат вывода

Заполните определения методов, предоставленные в редакторе, чтобы они соответствовали спецификациям, изложенным выше; код для проверки вашей работы уже находится в редакторе. Если ваши методы реализованы правильно, каждый тест будет печатать 2 или 3 строки (в зависимости от того, был ли передан допустимый initialAge в конструктор).

Пример ввода

4
-1
10
16
18

Пример вывода

Age is not valid, setting age to 0.
You are young.
You are young.
You are young.
You are a teenager.
You are a teenager.
You are old.
You are old.
You are old.

используя пространство имен std;

#include iostream

класс Человек{

общедоступно:

инт возраст;

Person(int initialAge);

void amIOld();

void yearPasses();

};

Person::Person(int initialAge){

// Добавляем еще немного кода для запуска некоторых проверок initialAge

if(initialAge › 0){

возраст = начальный возраст;

}

еще{

возраст = 0;

cout‹‹"Возраст недействителен, установите возраст на 0."‹‹endl;

}

}

void Person::amIOld(){

// Делаем здесь некоторые вычисления и выводим правильный оператор на консоль

если(возраст ‹ 13 лет){

cout‹‹"Вы молоды."‹‹endl;

}

иначе если(возраст ›= 13 && возраст ‹ 18){

cout‹‹"Вы подросток."‹‹endl;

}

еще{

cout‹‹"Ты старый."‹‹endl;

}

}

void Person::yearPasses(){

// Увеличиваем возраст человека здесь

возраст++;

}

целое main(){

целое т;

инт возраст;

цин ›› т;

for(int i=0; i ‹ t; i++) {

цин ›› возраст;

человек р(возраст);

p.amIold();

for(int j=0; j ‹ 3; j++) {

p.yearPass();

}

p.amIold();

cout ‹‹ ‘\n’;

}

возврат 0;

}