Контрольная работа С++ 2012(вар 2) (1119628)
Текст из файла
Контрольная работа №1. Вариант 2.
1 | 2 | 3 | 4 | 5 |
ФИО ________________
Задание 1. Решить задачу.
Есть ли ошибки в приведенном фрагменте программы на С++? Если есть, то объясните, в чем они заключаются. Ошибочные конструкции вычеркнуть из текста программы. Что будет выведено на экран?
class A {
public:
virtual void f() {
cout << "A_f ";
}
void h(int) {
cout << "A_h ";
}
void g() {
cout << "A_g ";
}
};
class B : public A {
public:
virtual void g() = 0;
void h() {
cout << "B_h ";
}
};
class C: public B {
public:
void h(int) {
cout << "C_h(int) ";
}
void f() {
cout << "C_f ";
}
void h() {
cout << "C_h ";
}
void g() {
cout << "C_g ";
}
};
main() {
A a;
B b;
C c;
A *pa;
pa = &a; pa->f(); pa->g(); pa->h(0); pa->h();
pa = &b; pa->f(); pa->g(); pa->h(0); pa->h();
pa = &c; pa->f(); pa->g(); pa->h(0); pa->h();
}
Задание 2. Можно ли построить следующее дерево наследования классов? Если возможно, то написать заголовки классов. Если нет, то объяснить ВСЕ причины невозможности.
A A
B B
C
D
Задание 3. Написать класс и решить задачу.
Напишите класс Isklyuchish так, чтобы следующая программа выполнялась, и на экран выводилось “Bad-bad-bad”:
int main() {
try{
throw Isklyuchish();
}
catch (std::exception& ex) {
std::cout << “Bad-bad-bad”;
}
return 0;
}
Подробно опишите действия в программе.
Задача 4. Реализовать классы.
Придумать класс S, отображающий студента. Класс должен содержать имя и возраст студента. Переопределить функции класса так, чтобы здесь:
S x(“Alexey”, 21), y(“Olga”, 19);
x ^ y;
не было ошибок, а имена в выбранных Вами переменных менялись местами, но возраст оставался прежним.
Задача 5. Решить задачу.
class A {
protected:
A() { std::cout << "A::A\n"; }
public:
virtual ~A() = 0 { std::cout << "A::~A\n"; }
};
class B: public A {
A* x;
public:
B() { std::cout << "B::B\n"; }
protected:
~B() { std::cout << "B::~B\n"; }
};
int main()
{
A* pA = new B();
delete pA;
}
Есть ли ошибки в приведенном фрагменте программы на С++? Если есть, то объясните, в чем они заключаются, и исправьте их, не меняя функцию main() и не удаляя функций из классов. Что будет выведено на печать?
4
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.