Недостатки
try
{
// код, где возможно исключение
}
catch(std::exception& ex)
{
// обработчик исключения
}
Try/Catch
Bad_alloc
Выбрасывание исключения (throw)
Вариант 1: использовать простой тип
Вариант 2: класс std::exception
Вариант 3: собственный класс
Шаблоны
template Шаблонная функция обмена
void Swap(const T & a, const T & b)
{
T tmp;
tmp = a;
a = b;
b = tmp;
}
2-х значений.
Sum(10, 20.0); //ОШИБКА
1) Типовое соответствие
Синтаксические правила
0) Объявление и реализация в h-файле
2) Используемые в заголовке функции типы должны присутствовать в
заголовке шаблона.
f
void main()
{
char x = 1, y = 2;
//std::cout << Sum(x,y); //будет выведен символ
std::cout << Sum
}
Специализация шаблонной функции
Реализация шаблонной функции для конкретного типа замещает,
маскирует шаблон (для этого типа).
Шаблон класса – это некое общее описание класса, на основе которого
создаются его версии для различных типов данных.
Шаблон массива
vector
for(int i=0; i<10; i++) a[i] = i+1;
Нетиповые параметры шаблона
Шаблон одномерного статического массива. Размер – параметр шаблона.
template Параметры конструктора vector
vector
{
data = new T [size];
for(int i=0; i < size; i++)
data[n] = T();
}
Шаблон класса стека
template
T Stack
{
if(top <= 0)
{
assert(false);
}
return data[--top];
}
Шаблон рекурсивного вычисления факториала
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть