Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2015, 14:46   #1
Kengoo
Пользователь
 
Регистрация: 05.09.2015
Сообщений: 16
По умолчанию Exception Handling задача

Помогите, пожалуйста, с данной задачей.

Задача:
Define an exception class called tornadoException. The class should have two constructors, including the default constructor. If the exception is thrown with the default constructor, the method what should return "Tornado: Take cover immediately!". The other constructor has a single parameter, say, m, of the int type. If the exception is thrown with this constructor, the method what should return "Tornado: m miles away; and approaching!" Write a C++ program to test the class tornadoException.



Код:
class tornadoException
 {
 public:
    tornadoException()
    {
        message = "Tornado: Take cover immediately!";
    }
    tornadoException(int m)
    {
        miles = m;
        message = "Tornado: ";
        cout <<  m << "miles away; and approaching!" << endl;
    }
    string what()
    {
        return message;
    }
 private:
    int miles;
    string message;
 };
 
int main()
 {  
    int distance;
 
    try
    {
        cout << "Enter distance";
        cin >> distance;
        cout << endl;
 
        if (distance == 0)
            throw tornadoException();
        
    }
    catch (tornadoException me)
    {
        cout << me.what() << endl;
    }
    
    
    system("pause");
 }

Последний раз редактировалось Stilet; 05.09.2015 в 15:06.
Kengoo вне форума Ответить с цитированием
Старый 05.09.2015, 14:50   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Дык чем помочь-то? Вы просто выложили задание и какой-то код.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.09.2015, 14:51   #3
Kengoo
Пользователь
 
Регистрация: 05.09.2015
Сообщений: 16
По умолчанию

Я код этот написал, но в нем что-то неправильно. Я не совсем понимаю где неправильно.
Kengoo вне форума Ответить с цитированием
Старый 05.09.2015, 14:52   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Как вы определили, что что-то неправильно если не можете сказать в чем это проявляется?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.09.2015, 14:56   #5
Kengoo
Пользователь
 
Регистрация: 05.09.2015
Сообщений: 16
По умолчанию

В конструкторе что-то неправильно и в программе тестирования.
Kengoo вне форума Ответить с цитированием
Старый 05.09.2015, 15:00   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В чем это проявляется-то? Просто вылазит "тут что-то неправильно" на весь экран?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.09.2015, 15:10   #7
Kengoo
Пользователь
 
Регистрация: 05.09.2015
Сообщений: 16
По умолчанию

Мне помогли. Спасибо!
Выделенное красным не хватало.

Код:
class tornadoException
{
public:
tornadoException()
{
message = "Tornado: Take cover immediately!";
}
tornadoException(int m)
{
miles = m;
message = "Tornado: ";
message+=to_string(m);
message+=" miles away; and approaching!";
}
string what()
{
return message;
}
private:
int miles;
string message;
};

int main()
{
int distance;

try
{
cout << "Enter distance";
cin >> distance;
cout << endl;

if (distance == 0)

throw tornadoException();

else

throw tornadoException(distance);

}
catch (tornadoException me)
{
cout << me.what() << endl;
}


system("pause");
}
Kengoo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ram Handling RomA-mtfdb Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 10.05.2013 15:21
Вопрос exception satoshisadie Общие вопросы Delphi 3 12.09.2011 21:42
Exception pa6kevi4 Общие вопросы .NET 8 11.06.2010 13:25
IdTCPServer Exception Comer_Jus Работа с сетью в Delphi 2 25.06.2008 22:23
Unhandled Exception Chazki Общие вопросы Delphi 2 14.04.2007 14:05