2008 Вариант 2 (1119590)
Текст из файла
Вариант 2 _2008 Ф.И.О.___________________________________№ группы________
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
1. Есть ли ошибки в реализации функций D::h() и main()? Если есть, объясните, в чем они заключаются. Для всех правильных операторов этих функций укажите, из какой области видимости выбираются участвующие в их записи имена, используя операцию разрешения области видимости «:: ».
#include <iostream>
using namespace std;
double a = 0;
void f (double x){a = x;}
struct B {
double a;
void f (){a = 2;}
};
class D: B {
public:
void f (int a){::a = a;}
void h ();
};
void D::h() {
f(1.2);
f();
a = 2;
}
int main () {
D d;
f();
f(6);
return 0;
}
2. Есть ли ошибки в приведенном фрагменте программы на С++? Если есть, то объясните, в чем они заключаются. Ошибочные конструкции вычеркнуть из текста программы. Что будет выдано в стандартный канал вывода при работе программы?
class T {
public: virtual int f (int x) { cout << "T::f" << endl; return 0; }
void g () { f (1); cout << "T::g" << endl; }
virtual void h () { g (); cout << "T::h" << endl; }
};
class S: public T {
public: int f (double y) { cout << "S::f" << endl; return 2; }
virtual void g () { f (1); cout << "S::g" << endl; } virtual void h () { g(); cout << "S::h" << endl; }
};
int main( ){
T t; S s; T *p = &s;
p -> f (1.5);
p -> g ();
p -> h ();
}
3. Является ли тип данных B из задания 1. абстрактным типом данных (пояснить ответ)? Перегрузить для этого класса постфиксную операцию -- в соответствии с принятым для нее в С++ смыслом.
4. Для объектов класса D из задания 1. определена функция empty:
void empty (D & a, D b) { }
Какие конструкторы и деструкторы и в каком порядке будут вызываться при работе следующего фрагмента програмы
... ; { D d; empty (d, d); } ...
5. Описать прототипы двух перегруженных функций f из некоторой области видимости, для которых будут верны следующие обращения к ним:
f ();
f (“abc”);
f (2);
f (‘+’, 3);
6. Дать определение абстрактного класса в С++. Привести пример. Можно ли описывать конструкторы, вводить неконстантные члены-данные, заводить объекты абстрактного класса?
7. Что будет выдано в стандартный канал вывода при работе следующей программы?
class A {
public: A () { cout << 1 << endl; }
};
class B: public A {
public: B (int n) { try { if (n == 0) throw *this;
if (n > 11) throw 11; }
catch (int) { cout << 2 << endl; }
catch (B&) { cout << 3 << endl; throw; }
cout << 4 << endl; }
B (B&) {cout << 5 << endl;}
~B () {cout << 6 << endl;}
};
int main() { try { B b(0); B c (3); }
catch (...) { cout << 7 << endl; }
cout << 8 << endl;
}
-
Есть ли ошибки в тексте приведенной программы? Можно ли исправить описание класса, не вводя дополнительных членов, чтобы программа стала верной? Если да, то как?
class X {
public:
void g () {cout << "g\n";}
int h (int n) {cout << "f\n"; return n}
};
int main () {
int k;
const X x;
X::g();
k = x.h(5);
return 0;
}
9. Описать суть работы оператора dynamic_cast. Привести пример его использования.
10. STL: Написать функцию, которая удаляет каждый второй элемент заданного контейнера-вектора v <char>, а затем распечатывает его элементы в обратном порядке.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.