въпросите на теста, един верен отговор (да), и един грешен
"отговор" (не)
1. Дадени са следните дефиниции: int *pt1, p = 2, *pt2 = new
int(1);
Отбележете с "да" (синтактично) верните оператори.
(да) pt1 = new int;
(не) *pt2 = new p;
2. Дадени са следните дефиниции: double d=2.5; double *p_d1=&d,
*p_d2=new double(0.5);
Верни ли са написаните оператори?
(да) p_d1 = new double;
(не) *p_d2 = p_d1;
3. Даден е масив: int mov[5] = {5, 10, 5};
Отбележете с "да" изразите със стойност 10.
(да) mov[0] + mov[2]
(не) *(mov+2)
4. Дадени са следните дефиниции: int a[3] = {10,20,30}, *pa = a;
Напишете стойността на следните изрази:
(да) a[0] + a[1] == 30
(не) a[1] + pa[1]== 5
5. Дадени са дефиниции на класа 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()
6. Разгледайте програмата, дадена във файла clock3.cpp и
посочете верните и грешни твърдения.
(да) Векторът clocks е полиморфна колекция от различни
часовници.
(не) Изразът clocks[i]->get_minutes() е
реализация на динамично свързване.
7. Дадена са следните дефиниции на класове: class Point { ... }; class Circle : public Point
{ ... };
Определете верните и неверните твърдения за връзките между класовете
Point и Circle:
(да) Класът Circle е производен клас на класа Point.
(не) Частните членове на Point са частни членове на Circle.
8. Нека класът D наследява класа B, b
е обект от класа B, d е обект от класа D,
pb е указател от класа B и pd е
указател от класа D. Кои от следните оператори са верни и
кои - не?
(да) b = d;
(не) d = b;
9. Дадени са следните дефиниции на класове: class A { public: void af(); ... }; class B : public A { public: void bf(); ... };
и обекти oa от клас A и ob от клас B.
Отбележете верни/неверни оператори (относно синтаксис) за извикване
на член-функциите af и bf от блока на функция main.
(да) oa.af();
(не) oa.bf();
10. Отбележете верните/неверните твърдения за виртуални функции и
полиморфизъм.
(да) Извикване на виртуална функция е по-бавно от извикване на
невиртуална функция.
(не) Когато член-функция се вика чрез указател (с операция ->),
тя винаги е статично свързана.
11. Дадени са файловите променливи: ifstream fin; ofstream fout; fstream f;
и променливите int k = 10; double x = 15.5; char ch = 'N'; string s = "alabala";
Отбележете верните оператори.
(не) fout >> x;
(да) fout << x << " " << s;
12. Отбележете верните и неверни твърдения относно йерархията на
потоковите класове.
(да) fstream е производен на iostream.
(не) fstream е производен на ofstream.
13. Отбележете верните и неверни твърдения за потокови класове,
обекти и член-функции.
(да) Член-функцията get е дефинирана за istream
обекти.
(не) Член-функцията getline е дефинирана за istream
обекти.
14. Даден е следният команден ред: >myprog -a -b2 dict.txt < inp.txt > out.txt
при което операционната система стартира и успешно изпълнява
програма myprog.
Вярно ли е следното обяснение:
(да) Името на изпълнимия файл е myprog.exe в ОС Windows.
(не) Броят на аргументите от командния ред е 6.
15. От главната функция main във файла database.cpp
определете верността на твърденията.
(да) Операторът fs.seekg(0, ios::end); премества позицията
за четене в края на файла.
(не) Стойността на променливата nrecord е големината на
файла.