Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Методи програмування в C + +

Реферат Методи програмування в C + +





>

Тут кутові дужки є невід'ємним елементом визначення. Список параметрів шаблону повинен бути укладений саме в кутові дужки.

Список аргументів полягає з виразів типу


class ідентифікатор n>


ідентифікатор 1, ідентифікатор n являють собою позначення параметрезованих типів. Ці позначення типів можна використовувати замість типів формальних параметрів або локальних змінних.

Під класом в даному випадку розуміється самий великий тип даних.

Наприклад, шаблон функції обміну для масиву буде виглядати так:


template

void Obmen (T A [], int i, int j)

{T temp;

temp = A [i];

A [i] = A [j];

A [j] = temp;}

main ()

{int Z [10];

...

Obmen (Z, 5,7);

float x [100];

Obmen (x, 6,7);

...

}


Шаблони функцій можна спеціалізувати, тобто для типів даних, до яких не підходить шаблон, визначити функцію з таким же ім'ям. У цьому випадку алгоритм звернення компілятора до функції буде наступним:

1) Компілятор намагається знайти функцію, параметри якої точно відповідають параметрам виклику.

Якщо це не вдалося, то

2) компілятор намагається знайти шаблон, з якого можна згенерувати функцію з вказаними параметрами.

Якщо і це не вдалося, то

3) компілятор розглядає наявні функції на предмет перетворення типів параметрів.

Шаблони класів

Шаблони класів задають узагальнені визначення родин класів, що використовують довільні типи і константи. Із шаблона класу компілятор може генерувати об'єкти з певними типами і константами.


template <список аргументів>

class NameClass

{ ... }


Список аргументів полягає в загальному випадку з конструкцій


class Ід n,

тип Ід k ...>


Ідентифікатори Ід 1 - Ід n використовуються при визначенні параметрезованих типів.

Ідентифікатор Ід k використовується для завдання констант.

Об'єкти шаблонного класу створюються таким чином:


NameClass A (Список ініціалізації)


Буде створений об'єкт, де формальні типи будуть замінені типом int. Список аргументів модифікується в такий спосіб: аргументи виду class Ідентифікатор замінюється конкретним типом (int, double і т.д.), у тому числі тут можна використовувати і класи.

Аргумент виду тип Ідентифікатор замінюється відповідною константою. p> Шаблони класів специфікувати не можна.

Приклад використання шаблонів класу:


template

class TSteck

{int n; T * item;

public:

TSteck (int S = 10)

{n = 0; item = new T [S];}

void push (T t);

T pop ();

}


template

void TSteck :: push (T t)

{item [n + +] = t;}


T TSteck :: pop ()

{return item [n -];}


TSteck A (100);// Створення об'єкта


Буде викликаний конструктор, і буде моделюватися масив, що імітує стек.


6. Обробка виняткових ситуацій у C + +

C + + забезпечує вбудований механізм обробки помилок, званий обробкою виняткових ситуацій. Він дозволяє обробляти тільки синхронні виняткові ситуації, тобто ті ситуації, виникнення яких в явному вигляді передбачено у програмі. Асинхронні виключення (помилки обладнання, апаратні переривання) їм не обробляються.

Для обробки виняткових ситуацій введені три ключові слова:

try, catch, throw. Ці ключові слова використовуються для попередження аварійного виходу з програми і коректної очищення пам'яті.

try служить для позначення секції коду, яка може генерувати виключення, тобто кількох "підозрілих" операторів, в яких можливе виникнення виняткової ситуації (наприклад, ділення на нуль, переповнення і т.д.).

Оператори, включені до фігурні дужки за ключовим словом try, належать до try-блоку. Всі функції прямо чи опосередковано викликаються з try-блоку також належать до нього. br/>

main ()

{...

try {

f1 ();

f2 ();}

...}


f1 і f2 можуть у свою чергу викликати інші функції. Ці функції також належать до try-блоку (вони також можуть генерувати виключення).

Інструкції catch повинні слідувати безпосередньо за try-блоком. Вони являють собою секцію коду, на яку передається керування у разі виникнення винятки. Їх може бути багато. br/>

catch (int i)// перехоплення помилки

{cout <<"перехоплена помилка номер:";

cout <

}


catch-обробник буде спрацьовувати при викиді винятку цілого типу.

Останнім пишеться обробник з трьома крапками:


c...


Назад | сторінка 3 з 5 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Особливості організації обслуговування на підприємствах громадського харчув ...
  • Реферат на тему: Анексія Криму, як можна вірішіті Конфлікт України с Россией чі можна его ві ...
  • Реферат на тему: Розробка термогенератора, який буде використовувати тепло двигуна для заряд ...
  • Реферат на тему: Мутації і нові гени. Чи можна стверджувати, що вони служать матеріалом Мак ...
  • Реферат на тему: Сумісність і перетворення типів даних