Какая из записей является правильной записью абстрактного класса?
Варианты ответа:
1) abstract class A{virtual f()=0;};
*2) class A{virtual f()=0;};
3) class A{virtual f();};
2. Абстрактный класс – это класс, в котором:
1) есть хотя бы один виртуальный метод;
2) есть виртуальный конструктор;
3) есть виртуальный деструктор;
*4) есть чисто виртуальный метод.
3. Основная проблема множественного наследования состоит в:
1) замедлении выполнения программ;
2) необходимости явно указывать, к какому базовому классу принадлежит метод;
*3) возможности существования двух экземпляров объекта базового класса;
4) неэкономном расходовании памяти.
4. Если записано
class A{public:virtual void f(){cout<<1;}};
class B:public A {public:virtual void f(){cout<<2;}};
то что будет напечатано, если
B b;A &a=b; a.f(); ?
Варианты ответа:
*1) 2; 2) 21; 3) 12; 4) 1; 5) ошибка.
5. Если записано
class A {public:void f(){cout<<1;}};
class B:public A{public: void f(){cout<<2;}};
то что будет напечатано, если
B b; b.f(); ?
Варианты ответа:
*1) 2; 2) 21; 3) 12; 4) 1.
6. Если записано
class A{public:virtual void f(){cout<<1;}};
class B:public A{public:virtual void f(){cout<<2;}};
то что будет напечатано, если
B b; b.f(); ?
Варианты ответа:
*1) 2; 2) 21; 3) 12; 4)1; 5)ошибка.
Лабораторная работа № 6
Тема. Потоки, обработка исключительных
ситуаций в C++
Теоретическое введение.В С++ ввод-вывод осуществляется через потоки. Потоки являются объектами соответствующих классов. При запуске программы автоматически открываются стандартные потоки cin, cout, cerr, clog. Последние два потока используются для вывода сообщений об ошибках. В файле iostream.h определены классы: ввода – istream, вывода – ostream, ввода-вывода – iostream.
Для реализации файлового ввода-вывода небходимо включить файл fstream.h, содержащий производные от istream и ostream классы ifstream, ofstream и fstream,и объявить соответствующие объекты. Например:
Ifstream in;//ввод
Ofstream out;//вывод