Șabloane de clasă

Lista unidirecțională - link-uri (link-uri) numai la următoarele elemente

dublu legătura - link-uri (link-uri) la elementele următoare și anterioare

Listă cu inele - ultimul element este asociat cu primul







Operații pe liste:

- formarea inițială (crearea primului element)

- adăugând un element la sfârșitul listei

- citirea unui element cu o cheie dată

- Introducerea unui element într-un anumit loc din listă (înainte sau după elementul cu cheia dată)

- Ștergerea unui element cu o cheie dată

- ordonarea listei prin cheie

Șabloane (clase parametrizate) - vă permit să creați familii de clase înrudite pe care le puteți aplica oricărui tip de date și să treceți acest tip ca parametru de clasă

șablon <параметр шаблона> clasă

Reguli pentru descrierea tiparelor:

- Șablonul local (îmbinat într-un șablon) nu poate conține șabloane ca argumente

- Șabloanele de clasă pot conține elemente statice, funcții prietenoase și clase

- Șabloanele pot fi obținute din ambele șabloane și clase și pot fi de bază pentru ele







- Nu puteți defini șabloane prietenoase într-un șablon

nume șablon <аргументы> nume_proiect [(design_parameters)]

listă List1;

listă Lista2;

32) Mecanism general de tratare a excepțiilor în C ++. Generarea și interceptarea excepțiilor. Lista excepțiilor de funcții.

O situație excepțională este apariția unui eveniment neprevăzut sau de urgență, care poate fi cauzat de utilizarea incorectă a echipamentului.

Mecanismul de excepție C ++ este destinat evenimentelor care apar ca urmare a programului în sine.

Stack apel - o serie de apeluri care au fost chemați, dar care nu au fost încă finalizate

Stivuirea este procesul de eliberare a memoriei de sub variabilele locale și returnarea controlului către funcția de apelare

Acțiunile bibliotecii C ++ în cazul generării de excepții:

1) o copie a parametrului de aruncare este creată sub forma unui obiect static care există până la procesarea excepției

2) în căutarea unui handler adecvat, stiva nu este strânsă; Sunt numiți distrugători ai obiectelor locale care ies din regiune

3) obiectul de excepție este transmis unui handler care are un parametru compatibil după tip

Un manipulator este considerat găsit dacă tipul obiectului specificat după aruncare:

- la fel ca în captura

- este derivat din captura specificată

- este un pointer care poate fi convertit prin reguli standard la cele specificate în captură

void f1 () arunca (int, char *)

Excepții în constructori:







Articole similare

Trimiteți-le prietenilor: