1. В кой от следните случаи за класа A се генерира системен конструктор по подразбиране?

  1. При дефиниран конструктор A();
  2. При дефиниран конструктор A(int x=0, int y=0);
  3. При дефиниран конструктор A(A const&);
  4. При всички от останалите случаи НЕ се генерира системен конструктор по подразбиране.
2. Според принципа за капсулацията...

  1. ... член-функциите не трябва да използват външни променливи
  2. ... всеки клас трябва да се записва в отделен файл
  3. ... състоянието на класа може да бъде променяно само чрез неговите операции
  4. ... обект от производен клас съдържа в себе си обект от основен клас

3. На кой ред в следната дефиниция на клас е допусната грешка?

  1. class A {
  2. private:
  3.   int x;
  4. public:
  5.   A(int _x) : x(_x) {}
  6.   int A::getX() { return x; }
  7. };

4. Нека класът B наследява публично класа A, а класът C наследява публично класа B. Кое от следните твърдения е вярно:

  1. Член-функциите на класа C нямат никакъв достъп до компонентите на класа A
  2. Член-функциите на класа C имат достъп до protected и public компонентите на класа B и само до public компонентите на класа A
  3. Член-функциите на класа C могат да променят protected член-данни на класа A
  4. Член-функциите на класа C имат достъп до всички компоненти на класа B и до protected и public компонентите на класа A

5. Кое от следните твърдения за операторните функции е вярно?

  1. Операторните функции позволяват промяна на поведението на операциите върху базовите типове (int, double, ...)
  2. Операторните функции могат да бъдат както член-функции, така и външни функции
  3. Всяка операторна функция може да има произволен брой и тип на параметрите
  4. Операторната функция за сравнение е една от функциите в голямата четворка
Последно модифициране: четвъртък, 25 май 2017, 22:46