logo
ООП для Заоч / Пинчук Лозовская Программир на С

Void main()

{ set_new_handler(0);

....................

p= new double;

if (p==NULL) { puts("Немає пам'яті!"); exit(0); }

....................

}

Зверніть увагу на використання процедури set_new_handler. Виклик цієї процедури дає можливість виконати обробку виключення для new саме у програмі. Інакше, при неуспішному завершенні операції new, ця подія перехоплюється операційною системою, яка звичайно виводить на екран стандартне повідомлення

Abnormal program termination

і завершує роботу програми. Для того, щоб функція set_new_handler спрацьовувала, необхідно підключити бібліотечний модуль new.h .

Для створення об'єкта операція new викликає спеціальну функцію - конструктор об'єкта. Це дає можливість записувати операцію створення динамічного об'єкта з ініціалізацією, наприклад:

double *p = new double(3.3333);

Тепер створений динамічний об’єкт типу double буде мати адресу p і значення 3.3333.

Можна створювати константні динамічні об'єкти. Приклад створення константного динамічного об'єкта типу double наведено нижче.

// Приклад 1

#include <syst.h>