----------------------------------------------------------- Дадена е част от програма: class Vec { int *p; public: int& operator[](int i) { if (0<=i && i<100) return p[i]; throw Range(i); } class Range { public: int index; Range(int j):index(j) {} }; ... }; void do_any(Vec &w); void do_some(Vec &w); void f(Vec& v) { do_any(v); try { do_some(v); } catch(Vec::Range r) { cerr << "ERROR" << r.index; ... } ... } ... Отбележете верните твърдения. + Променливата index служи за предаване на цяло число до блока на catch. - Изразът w[0]+w[1] от функция do_some ще предизвика обработка на изключение. ----------------------------------------------------------- Дадена е шаблон-функция: template T maxA(T *arr) { T maxVal=arr[0]; for (int i = 1; i < 10; i++) if (arr[i] > maxVal) maxVal = arr[i]; return maxVal; } Отбележете верните оператори на main и твърдения. + int a[11]={1,2,5}; cout << maxA(a); - Ако T е класа K, то в K трябва да бъде предефинирана операцията >>. ----------------------------------------------------------- Даден е шаблон-клас и дефиниции на обекти: template class listIt { public: listIt(list & aList); listIt(const listIt &); virtual int init(); virtual T operator ()(); virtual int operator !(); virtual int operator ++(); virtual void operator =(T value); void addBefore(T newValue); void addAfter(T newValue); ... }; list lst; listIt liter(lst); list е клас-шаблон с конструктор по подразбиране, дефиниран по-рано. Отбележете верните оператори от външна за класа функция. + listIt li1(lst); - cout << liter().init(); ----------------------------------------------------------- Дадена е следната част от програма: void fun3() { throw runtime_error("RTE" ); } void fun2() throw(runtime_error) { ... } void fun1() throw(runtime_error) { fun2(); } int main() { try { fun1(); } catch (runtime_error e) { cout<