Тести
Мова сайту: Українська
Українська
English
Русский
Тести з програмування
Вхід
Реєстрація
Тести з програмування
Теорія
Сніпети
Статті
Головна
Android
Ціни
FAQ
Історія Cosmo
Правила та умови сервісу
Політика конфіденційності
Політика щодо файлів cookie
Зворотній Зв’язок
template
:
Мова контенту: Русский
English
Что будет выведено на консоль в результате выполнения программы? #include <iostream> struct A { char foo() { return 'A';} }; template<class T> struct B : public T { virtual char foo() {return 'B';} }; template<class T> struct C : public T { virtual char foo() {return 'C';} }; int main(int argc, char* argv[]) { A* a = new A(); A* b = new B< A >(); A* c = new C< A >(); A* d = new B< C< A > >(); std::cout << a->foo() << b->foo() << c->foo() << d->foo(); return 0; }
template
Что будет выведено на экран при выполнении следующего кода: #include <iostream> template<class T>struct Counter { Counter() { ++count; } static int count; }; template<class T> int Counter<T>::count = 0; struct Derived1: Counter<Derived1> {}; struct Derived2: Counter<Derived2> {}; int main(int argc, char** argv) { Derived1 a, b; Derived2 c; std::cout << Derived1::count << Derived2::count << '\n'; return 0; }
template
Как правильно объявить метод добавления объекта типа ItemType в шаблон Container вида: template<class ItemType> class Container { /* ... */ };
template
Какое инстанцирование корректно, т.е. не должно привести к ошибке компиляции ? (Укажите все подходящие варианты) template < typename R, typename A > void F(R (A)) { } struct R; struct A { operator R(); }; struct R { R(A) {} }; A::operator R() { return R(* this); } R g(A a) { return R(a); } int main() { A a; R r(a); F< R, A >(a); // (1) F< R, A >(r); // (2) F< R, A >(g); // (3) return 0; }
template
Каким будет результат выполнения кода: #include <iostream> template <int T> struct X { enum val {v = T * X<T-1>::v }; }; template <> struct X<0> { enum val {v = 1 }; }; int main() { std::cout<<X<5>::v; }
template
Что будет вызвано при обращении к методу callFunc объекта obj: template <class X> void func(X val) { } template <> void func<double>(double val) { } class A { public: void callFunc() { func(4.5); } private: void func(int val) { } };
template
Что выведет на экран следующая программа: #include <iostream> #include <string> #include <sstream> using namespace std; template <class T> inline string to_string(const T& t) { stringstream ss; ss << t; return ss.str(); } class DataType { public: DataType(int); DataType(string, int = 3); const char *getData(); private: string anyData; }; DataType::DataType(int dt) { anyData = to_string(dt); } DataType::DataType(string str, int dt) { anyData = str; anyData += to_string(dt); } const char *DataType::getData() { return anyData.c_str(); } int main(void) { DataType data1 = 8; //1 DataType data2 = string("a"); //2 DataType data3 = DataType(string("b"), 6); DataType data4 = DataType(5); cout << data1.getData() << " " << data2.getData() << " " << data3.getData() << " " << data4.getData(); return 0; }
template
Корректен ли такой код? template <template<class T> class TT> void f() { }
template
Что произойдет в результате компиляции данного кода? (С++11) #include <iostream> #include <array> using namespace std; int main() { array<int> a{1, 2, 3, 4, 5}; for(auto& rit: a) ++rit; for(auto rit: a) cout << rit; }
template
Реализация какого алгоритма приведена ниже? template<typename In, typename Op> Op xxx(In first, In last, Op oper) { while(first != last) oper(*first++); return oper; }
template
← Попередня
1
2
3
4
5
Наступна →
Зареєструйся Зараз
або
Підпишись на майбутні тести