2001 досрок 2 (Решённые задачи прошлых лет)
Описание файла
Файл "2001 досрок 2" внутри архива находится в папке "Решённые задачи прошлых лет". Документ из архива "Решённые задачи прошлых лет", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "2001 досрок 2"
Текст из документа "2001 досрок 2"
1. Смоделируйте конструкцию void f() throw(Erri, Err2, ЕггЗ) на языке Си++, считая что компилятор реализует ислючения, но не реализует throw (список типов).
2. Напишите спецификацию класса на языке Си++, функционально эквивалентную
приведенной ниже спецификации пакета на языке Ада.
GENERIC
TYPE Т IS PRIVATE;
PACKAGE LISTS IS /
TYPE LIST IS PRIVATE;
PROCEDURE INSERT (S: INOUT LIST; X: IN T) ;
PROCEDURE GET (S: INOUT LIST; X: OUT DEPROCEDURE CLEAR (S: INOUT LIST);
PRIVATE
TYPE PLINK IS ACCESS;
TYPE LINK IS RECORD INF:T; NEXT:PLINK; END RECORD;
TYPE PLINK IS ACCESS LINK;
TYPE LIST IS RECORD LAST:PLINK := NULL; END RECORD;
END LISTS;
3. Объясните, что такое ограниченные приватные типы в языке Ада. Можно ли смоделировать такие типы на языке Си++ (если можно, то объясните, каким образом)?
4. Есть ли ошибки в приведенном ниже фрагменте программы на языке Си++? Если есть,- то объясните, в чем они- состоят, если нет, то что будет выдано в стандартный канал вывода cout в результате вызова функции f()? class X { public :
virtual void g (int j) { cout « "X::g(" « j « ")\n"; }
void g () { cout « "X::g()" « '\n'; }
};
class Y : public X { public :
void g (int j) { cout « "Y:;g(" « j « ")\n"; }
void g () { cout « "Y::g()" « '\n'; }
};
void d (X * px, Y * py) { px->g (2); px-> g (); py -> g (2); py-> g ();} void f () {
X x; Y y; X * px; У * py;
px = &x; py = &y; d (px, py) ;
px = py; d(px, py) ;
d(py,py) ;
}
5. В каких языках из перечисленных ниже есть понятие наследования? Приведите примеры наследования для каждого из этих языков.
Ада 95, Модула 2, Си++, Java, C#, Ада 83. ^- . \ ^ ^
6. Дайте определение абстрактного класса в языке Java и определение абстрактного типа данных. Может ли абстрактный класс быть абстрактным типом данных? Если да, то приведите пример.