Опрос: исключения в конструкторе класса

Тема в разделе "Общие вопросы по С и С++", создана пользователем rrrFer, 11 авг 2016.

?

Укажите проблемы в приведенном коде

  1. Код не скомпилируется (из за 5 или 12, или 19-25 строк)

    0 голосов
    0,0%
  2. Конструктор класса вырабатывает исключение - это приведет к утечке памяти, т.к. деструктор не будет

    0 голосов
    0,0%
  3. В коде нет ни одной описанной выше проблемы

    1 голосов
    100,0%
  1. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    В догонку к предыдущей теме "Используете ли вы исключения?" небольшой опрос на проверку знаний.

    Вам дан исходный код:
    Код (Text):
    #include <iostream>
    #include <stdlib.h>
    using namespace std;

    struct StudentNameException {}; // 5

    class Student {
      std::string m_name;
      int m_age;
    public:
      Student(string name, int age)
        : m_age(age) {  // 12
          if (m_name == "")
            throw StudentNameException();
        }
    };

    int main() {
      try {  // 19
        Student student_1("testName", 25);
        Student student_2("", 22);
      }
      catch(StudentNameException) {
        std::cout << "exception handled\n";
      }  // 25
    }
     
Загрузка...

Поделиться этой страницей