Ответы 2008 вариант 1 (Коллоквиум. Варианты заданий и ответы)
Описание файла
Файл "Ответы 2008 вариант 1" внутри архива находится в папке "Коллоквиум. Варианты заданий и ответы". Документ из архива "Коллоквиум. Варианты заданий и ответы", который расположен в категории "". Всё это находится в предмете "практикум (прикладное программное обеспечение и системы программирования)" из 4 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "Ответы 2008 вариант 1"
Текст из документа "Ответы 2008 вариант 1"
Ответы и баллы :::: вариант 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.