Тести
Мова сайту: Українська
Українська
English
Русский
Тести з програмування
Вхід
Реєстрація
Тести з програмування
Теорія
Сніпети
Статті
Головна
Android
Ціни
FAQ
Історія Cosmo
Правила та умови сервісу
Політика конфіденційності
Політика щодо файлів cookie
Зворотній Зв’язок
function template
:
Мова контенту: Русский
English
Что выведет на экран следующая программа? #include <iostream> static int a = 0; template<typename T> void f(T t) { static int b = ++a; std::cout << a; std::cout << b++; } int main (int argc, char *argv[]) { f(27); f(634); f(.8); return 0; }
function template
Что нужно вписать вместо точек, чтобы данный код скомпилировался: #include <iostream> using namespace std; template<...> // insert code here void OtherFunc() { T(); } void printIt() { cout << "Func"; } int main() { OtherFunc<printIt> (); return 0; }
function template
Какой из вызовов функции не является верным для определённого шаблона: template<class X, class Y, class Z> void f(Y,Z);
function template
Сколько раз будет вызвана нешаблонная версия функции func? void func(const int& a, const int& b) { } template <typename T> void func(const T& a, const T& b) { } int main() { func(7.0, 34.0); func("cat", "dog"); func(7, 34); func<>(7, 34); func<int>(7, 34); func('a', 12.5); return 0; }
function template
Что будет выведено на консоль в результате выполнения программы? #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; }
function 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; }
function template
Как правильно объявить метод добавления объекта типа ItemType в шаблон Container вида: template<class ItemType> class Container { /* ... */ };
function 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; }
function 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) { } };
function 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; }
function template
← Попередня
1
2
3
Наступна →
Зареєструйся Зараз
або
Підпишись на майбутні тести