Ответы 2008 вариант 1 (1119603)
Текст из файла
Ответы и баллы :::: вариант 1_2008
Максимальная оценка всех задач – 10 баллов (всего 100 баллов)
1.
void B::g() {
f(); // ошибка, эта f не видна
f(1); // B::f(1);
f(5 , 1); // ошибка эта f не видна
x = 2; // ошибка, так как int x private в базовом классе
}
int main () {
B b;
f(5); //ошибка, эта f не видна
f(‘+’, 6); //::f(‘+’, 6);
return 0;
}
Критерии: За каждую не найденную ошибку - 2
За каждую лишнюю ошибку или неверно написанное с «::» имя
(это строго взаимоисключающие ошибки) - 2
2.
int main( ){
X a; Z b; X * p = &b;
p -> g(1.5); // печатается Z::t
Z::h
Z::g
p -> h(); //печатается X::t
X::h
p -> t(5); // ошибка, X::t – без параметров
}
Критерии: За каждую не найденную ошибку, лишнюю ошибку или
неправильно вызванную функцию – 2
(может быть больше 10 баллов, но причины ошибок пересекаются )
Да, т.к. не содержит открытых полей-данных.
Метод класса А:
A & operator ++ () {
i++;
return *this;
}
Критерии: Не АТД -3
Нет ссылки в возвращаемом результате -1
Неверно реализована операция - 7
- конструктор умолчания А,
- конструктор умолчания В,
- конструктор умолчания А,
- конструктор копирования В,
- деструктор В,
- деструктор А,
- деструктор В,
- деструктор А.
Критерии: За каждую ошибку (пропущенную, лишнюю или неверную печать) - 2
5. void g (double a, int b = 0 );
void g (int, const char * = 0);
Возможны варианты с double, char...
Критерии: За каждую ошибку – 5
Функций не две -10
6. Приведен пример шаблона класса либо шаблона функции
Критерии: Нет либо шаблона функций, либо классов – 5,
ошибки в примере существенные - 4, несущественные - 2.
-
12
9
2
4
6
11
Критерии: За каждую неверную (лишнюю или пропущенную) печать -2
8. Исправления: class A {
public:
static int y;
void f () const {cout << "f\n";}
};
Критерии: Ответ нет - -10, не добавили static -5, не добавили const -5.
-
Друг класса – это функция, не являющаяся членом этого класса, но имеющая доступ к private и protected членам класса.
class X { int a;
public: friend void fff (X*, int);
};
void fff ( X * p, int i ) { p -> a = i; }
void f ( ) { X obj; fff (& obj, 10); }
Критерии: Нет определения – 8, существенные ошибки в примере -5.
10. void g (list <int> &lst) {
list < int > :: iterator p = lst.begin ();
while ( p != lst.end()) {
lst.insert(p, *p);
p++;
}
list < int > :: reverse_iterator rp = lst.rbegin ();
while ( rp!=lst.rend ()) {
cout << *rp << ' ';
rp++;
}
cout << endl;
}
Критерии: За каждую существенную ошибку -3.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.