ТЕСТ 4
      
      въпросите на теста, един верен отговор (да), и един грешен
        "отговор" (не) 
    
    Отбележете верните и грешни  оператори за дефиниране на
    променливи, константи и обекти от класовете Time и Employee ("Низове
    и обекти"). 
    (да) int one = 3;
    (не) Time day(30);
    
Отбележете верните и неверни оператори за
    вход и изход. Предполагаме, че всички променливи, използвани в
    изразите, са дефинирани правилно.
    (да) cout << "C++\n";
    (не) cout >> n;
    
Дадени са следните дефиниции на
    променливи:
     int k = 2;
     double x = 0.5;
    Пресметнете аритметичните изрази в С++ и отбележете с "да" тези,
    които имат стойност 10 (като цяло число) или 10.0 (като число тип double).
    (да) 20 * x
    (не) 8 * x + k
    
Дадени са следните дефиниции на низови
    променливи:
     string n = "Good morning";
     string m = "By-by";
    Отбележете верните и неверните (относно синтаксис) оператори.
    (да) cout << n.substr(0,2);
    (не) cout << length(m);
    
    
    Отбележете синтактично верни/неверни оператори за цикъл на
      С++. Предполагаме, че mark е цяла
      променлива. 
    (да) for(mark = -1;
      mark < 4; mark++) cout << mark; 
    (не) for(mark = 0,
      mark < 5, mark++) mark--;
    
Напишете стойността на
      следните изрази (сравнения и логически операции): 
    (true) "Harry" <
      "Hurry" 
    (false) !(8 > 2) 
    
    
    Нека info е цяла
      променлива с текуща стойност 0. Напишете ДА, ако даденият цикъл ще
      се изпълни само веднъж. 
    (да) while (info
      <= 0) info++; 
    (не) while (info
      > 0) info--; 
    
    
    Отбележете с "ДА" безкрайните цикли. Променливата k е
      дефинирана с начална стойност 0.
    (да) for(;;) cout
      << k;
    (не) for(; k >
      0;) cout << k;
    
    
    Дадена е следната декларация на функция: 
       
      int by(int, int&); 
    Отбележете верните и неверни оператори, съдържащи извикване
      на функцията. Предполгаме, че цялата променлива c е дефинирана и
      има стойност 0. 
    (да) cout <<
      by(10, c); 
    (не) cout <<
      by(c, 2); 
    
    
    Зададена е следната функция:
    int main()
    { 
      int count = 0;
      
      string word;
      
      while (cin >> word) count++;
      
      cout << count << " words.\n";
      
      return 0;  
    }
    Вярно ли е следното твърдение?
    (да) count е име на
      променлива. 
    (не) word е глобална
      променлива.
    
    
    Даден е клас Big и обект b от този
      клас. 
      class Big { 
      public:
        Big(); 
        vector<Time> get_t() const 
         { return times; }
        void set_t(Time t, int i) 
         { times[i] = t; } 
      private: 
        vector<Time> times;
      };
      Big b; 
    Конструкторът на класа зарежда 10 стойности на вектора times. Отбележете верните оператори от блока на main.
    (да) b.get_t().pop_back(); 
    (не) cout <<
      b.get_t(); 
    
Дадена е дефиниция на клас и глобален
    масив от обекти от този клас:
    class Arr {
    public:
        Arr()
        { for(int i=0; i<10; i++) a[i]=i*i; }
        int geta(int i) const { return a[i]; }
    private:
        int a[10];
    };
    Arr arr[3];
    Дали даденият оператор от функция main е
    синтактически/логически верен?
    (да) cout << arr[0].geta(3);
    (не) cout << arr[3].geta(0);
    
    
    Даден е вектор и стойности на елементите му.
       vector<int>
      sol(2);
        sol[0] = 10;
        sol[1] = 12;
    Отбележете верните и грешни оператори.
    (да) int k =
      sol.size();
    (не) cin >>
      sol[2];
    
    
    Даден е класът 
    class Product
      { 
    public: 
          Product(); 
       
      Product(string n, double p, int s); 
       
      void read(); 
       
      string get_name() const; 
       
      double get_price() const; 
       
      void print() const; 
    private: 
       
      string name; 
       
      double price; 
       
      int score; 
    }; 
    и обект от този клас p, дефиниран в main. Отбележете операторите, които могат да се срещат в блока
      на функцията main. 
    (да) Product q; 
    (не) string
      s = p.name; 
    
    
    Отбележете верни/грешни твърдения за функции. 
    (да) Оператор return може да
      върне стойност на израз. 
    (не) Всяка функция трябва да съдържа точно един оператор return.