въпросите на теста, един верен отговор (да), и един грешен
"отговор" (не)
Дадени са дефиниции на класа One обекти и указатели от
този клас: class One { public: One() { data = 0; } void print() { cout << data; } private: int data; }; One one, *p_one=&one, &r_one=one;
Верни ли са дадените обръщения към член-функцията print от
главната функция main?
(да) one.print()
(не) one::print() Разгледайте програмата, дадена във файла clock3.cpp
и посочете верните и грешни твърдения.
(да) Векторът clocks е полиморфна колекция от различни
часовници.
(не) Изразът clocks[i]->get_minutes() е
реализация на динамично свързване. Дадена са следните дефиниции на класове: class Point { ... }; class Circle : public Point
{ ... };
Определете верните и неверните твърдения за връзките между класовете
Point и Circle:
(да) Класът Circle е производен клас на класа Point.
(не) Частните членове на Point са частни членове на Circle. Нека класът D наследява класа B,
b е обект от класа B, d е обект
от класа D, pb е указател от класа B и
pd е указател от класа D. Кои от следните
оператори са верни и кои - не?
(да) b = d;
(не) d = b; Дадени са следните дефиниции на класове: class A { public: void af(); ... }; class B : public A { public: void bf(); ... };
и обекти oa от клас A и ob от клас B.
Отбележете верни/неверни оператори (относно синтаксис) за извикване
на член-функциите af и bf от блока на функция main.
(да) oa.af();
(не) oa.bf(); Отбележете верните/неверните твърдения за
виртуални функции и полиморфизъм.
(да) Извикване на виртуална функция е по-бавно от извикване на
невиртуална функция.
(не) Когато член-функция се вика чрез указател (с операция ->),
тя винаги е статично свързана. Дадени са файловите променливи: ifstream fin; ofstream fout; fstream f;
и променливите int k = 10; double x = 15.5; char ch = 'N'; string s = "alabala";
Отбележете верните оператори.
(не) fout >> x;
(да) fout << x << " " << s; Отбележете верните и неверни твърдения
относно йерархията на потоковите класове.
(да) fstream е производен на iostream.
(не) fstream е производен на ofstream. Отбележете верните и неверни твърдения за
потокови класове, обекти и член-функции.
(да) Член-функцията get е дефинирана за istream
обекти.
(не) Член-функцията getline е дефинирана за istream
обекти. Даден е следният команден ред: >myprog -a -b2 dict.txt < inp.txt > out.txt
при което операционната система стартира и успешно изпълнява
програма myprog.
Вярно ли е следното обяснение:
(да) Името на изпълнимия файл е myprog.exe в ОС Windows.
(не) Броят на аргументите от командния ред е 6. От главната функция main във
файла database.cpp определете верността на твърденията.
(да) Операторът fs.seekg(0, ios::end); премества позицията
за четене в края на файла.
(не) Стойността на променливата nrecord е големината на
файла. Дадени са две взаимно рекурсивни функции. int s(int n) { if (n != 0)
return n + m(n - 1); else return 1; } int m(int n) { if (n != 0)
return n * s(n - 1); else return 0; }
Пресметнете стойността на следния израз:
(true) s(2) == 3
(false) s(0) == 0 Дадена е рекурсивната функция: bool s_is_p(string s, int start, int end) { if (start
>= end) return true; if (s[start]
== s[end])return s_is_p(s, start + 2, end
- 2); elsereturn false; }
Намерете върнатата от функцията стойност при следното извикване:: s_is_p(s, 0, s.length() - 1);
Стойността на променливата s е дадена по-долу.
(true) aaaa
(false) aaaabbbb Заместете многоточието (...)
с дадения оператор. void rec(int i) { ... if (i/10 != 0) rec(i/10); } int main() { rec(122); return 0; }
Съдържа ли се низът 121 в изхода на
програмата?
(да) cout << i;
(не) cout << i%10; Отбележете верни и грешни твърдения за
функцията generate_permutations,
дадена във файла permute.cpp.
(да) generate_permutations e
функция, която генерира всички пермутации на една дума.
(не) Рекурсивното извикване връща една пермутация на по-къса дума.