Фамилия И.О.___________________________ Группа_______

1. Дайте определение и пример динамического массива в языке Ада.  

2. Какие возможности языка Ада используются для инициализации
объектов типа при их объявлении (размещении в памяти)? Сравните эти
возможности с механизмом конструкторов языка Си ++.

3. Дайте определение и пример конструктора преобразования в языке
Си ++.

4. Что будет выдано в стандартный канал вывода при вызове функции f ()
в следующем фрагменте программы на Си ++ ?
class X {
protected:
   int i;
public :
   X () { i = 0; }
   virtual void g (int j) { i += j; cout << i; }
   void g () { cout << ++i; }
};
class Y : public X {
   public :
   void g (int j) { i -= j; cout << i; }
   void g () { cout << --i; }
};
void d (X * px, Y * py) { px->g (2); px-> g (); py-> g (); py -> g (2);}
void f () { Y y; d (&y, &y); }

5. Напишите объявления классов на языке Си ++, эквивалентные следующим
объявлениям на языке Оберон-2.

TYPE T = RECORD
           I*, J : INTEGER;
         END;
TYPE T1 = RECORD (T)
           K : INTEGER;
          END;
PROCEDURE (X : T) P (L : INTEGER);
PROCEDURE (X : T1) P (L : INTEGER);