Ответы 2012 вариант 3 (1119616)
Текст из файла
Ответы - вариант 3_2012
Максимальная оценка каждой задачи – 10 баллов (всего 100 баллов)
Различаются следующие виды полиморфизма:
статический (на этапе компиляции, реализуется с помощью перегрузки функций/операций),
динамический (во время выполнения программы, реализуется с помощью виртуальных функций),
параметрический (на этапе компиляции, с использованием механизма шаблонов).
Критерии: За каждый недостающий вид полиморфизма - -4,
За каждый неназванный механизм реализации - -2,
За каждый неверный ответ о этапе разрешения полиморфизма - -2.
2.
class C {
int x;
public:
explicit C (int y) { x = 2 * y; }
int get () { return x; }
C operator + ( C c ) {
C t ( x + c.x );
return t;
}
};
Критерии: За каждый недостающий, лишний метод, /лишний констр.- - 4
За отсутсивие explicit - -4
За каждую ошибку реализации метода (неверный вывод…) - - 2
3. Cons Copy Cons Des Des 1 Des
Критерии: За каждую неверную/лишнюю/недостающую печать - - 4
Если пропущен конструктор, то за парный ему деструктор - не наказывать.
4.
1) перед деструктором базового класса добавить virtual.
2) добавить D (int d = 0) {...}
Критерии: За каждое не сделанное добавление - - 5
5.
class Cls {
int i;
public:
Cls (int x) { i = x; }
Cls (const Cls & y) { i = y.i; }
const Cls f ( const Cls c) const{ cout << c. i << endl; }
};
const Cls t1 (const Cls * a) {
Cls b = Cls (3);
return a -> f ( b );
}
Критерии: За каждое не найденную или лишнюю ошибку - - 5
-
template < class T >
void f (const T & t) {
if (t.size ( ) < 2) return ;
typename T :: const_reverse_iterator p = t.rbegin ( ) ;
for (int i = 0; i < t.size() / 2; i++, p++)
cout << * ( ++p ) << endl; // можно без скобок
}
int main () {
list <int > lst;
for (int i = 0; i < 5; i++)
lst.push_back (i);
f (lst); // или f <list <int> > (lst);
return 0;
}
Критерии: Пропуск typename - -4,
Если параметр функции const, а итератор – не const - -4,
За каждое другую ошибку - - 3
Отсутствие & в заголовке функции - -1.
7.
g ( ) from T
7 7 7
Критерии: За неверный вызов функции - - 5
За любую ошибку со статической переменной - - 5
8.
SCatch_int ¬ SConstr ¬ Copy ¬ SCatchS& ¬ Destr ¬ MainCatchS& ¬ Destr
Критерии: За отсутствие Copy (и его Destr) - - 5
За каждую другую ошибку - - 2
9.
void puthi ( B * pb, D * pd ) {
try { D d ; int i = 10;
if (typeid (*pb) == typeid (d)) { // возможен вариант с dynamic_cast
pd = (D*) pb;
while (i) srtcpy ((pd -> txt) [--i] , “Hi!”);}
}
catch ( bad_typeid ) { cout << “NULL!\n”; }
}
Критерии: Правильно добавлены средства RTTI - - 10
Иначе - - 0
За отсутствие try-catch блока не наказывать,
если это не может привести к ошибке.
10.
-
при создании объекта (при обработке описания объекта),
-
при создании объекта в динамической памяти (по new),
-
при композиции объектов наряду с собственным конструктором вызывается конструктор объекта – члена класса,
-
при создании объекта производного класса также вызывается конструктор и базового класса,
-
при автоматическом приведении типов с помощью конструктора преобразования.
Критерии: За отсутствие каждой из трех ситуаций - - 4
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.