Объявление

Ищу партнеров в бизнес (не связано с интуитом)
Подробнее тут.

Язык программирования C++

Отметьте те средства языка Си++, которые относятся к диагностике ошибок

Отметьте те средства языка Си++, которые относятся к диагностике ошибок
1) возвращаемое значение функции
2) исключительные ситуации
3) создание объектов
4) глобальные переменные, хранящие состояние
5) флаг состояния объекта
6) преобразование типов переменной

Какая строка данного кода производит специализацию шаблона?

1:template<class Т> class А{
2:int х;
3:};
4:template<class Т> class А<Т*> {
5:long х;
6:};
7:template<template<class U> class V> class C{
8:V<int> y;
9:V<int*> z;
10:};
11:C<A> c;



последняя
предпоследняя
седьмая
четвертая

Существует ли в С++ готовый набор шаблонов:

нет
да,существует специальная библиотека STL
зависит от версии компилятора

В чем недостаток использования шаблонов

у них запутанная логика создания
из небольшого шаблона может получиться большая программа
шаблоны сложны в использовании

Какой будет результат следующего выражения?

template T sum(T *a, T *b)
{ T f = 5;
return (*a + *b) - f;
}
int main()
{ int i = 10, j = 20; double x = 5.1, y = 2.2;
cout << sum(&i, &j) << " " << sum(&x, &y);
}



25 2.3
20 2.3
25 22
ошибка компиляции

Укажите правильное объявление шаблона функции, если в программе производится вызов double х = zero<double>();

template TT zero() { return 0;}
template TT zero() { return 0;}
template TT zero { return 0;}

Отметьте правильный заголовок шаблона функции:

template void Sum(T x1, T x2);
class template Sum
template class
template class Sum(T x1, T x2);

Шаблон A и его специализации объявлены следующим образом:

template class A
{
public:
A(){ printf("1 ");}
};
template <> class A
{
public:
A(){ printf("2 ");}
};
template <> class A
{
public:
A(){ printf("3 ");}
};

Какой будет результат после выполнения кода
A a;
A a1;
A a2;


2 3 1
2 1 1
1 1 1
ошибка компиляции в строке "template <> class A"

Какой правильный вариант создания экземпляра объекта?

template class Matrix
{ public : Matrix(int, int);
~Matrix() { }
}


Matrix x(4, 5)
Matrix x(4, 5);
Matrix :: x(4, 5)

При определении класса-шаблона

он должен быть включен в общий контекст (namespace) STL
он должен быть наследован от класса Template
он должен быть отмечен ключевым словом template
он должен включать в себя, по крайней мере, один параметр-тип

RSS-материал RSS-материал

Не нашли ответ на свой вопрос? Задайте его на нашем форуме.