Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
xADIKx
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 18
#1

Разработать программу-драйвер, которая продемонстрирует работу производного класса - C++

07.05.2011, 20:44. Просмотров 508. Ответов 1
Метки нет (Все метки)

Создать объявление классов согласно варианту. Разработать программу-драйвер, которая продемонстрирует работу производного класса.

Базовый класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Device
{
public:
     Device (char * fName);
     ~ Device ();
     virtual bool Open () = 0;
     virtual bool Close () = 0;
     virtual bool Execute (char * cmd, void * prm) = 0;
     virtual bool Status (int ext = 0) {return isOpened;}
protected:
     char * deviceName;
     char * friendlyName;
     bool isOpened;
};
Device () - конструктор базового класса. Выделяет память под переменную friendlyName и инициализирует ее.
~ Device () - деструктор базового класса. Высвобождает память видилену под сменные deviceName (! если выделено!) и friendlyName. Печатает сообщение если работа с устройством не была корректно завершена.
Open () - открывает устройство для работы. Выделяет память и инициализирует переменную deviceName, устанавливает переменную isOpened. Печатает сообщение, о том что устройство готово к работе.
Close () - завершает работу с устройством. Печатает сообщение, и устанавливает переменную isOpened в соответствующее состояние.
Execute () - выполняет команду специфическую для каждого устройства.
Status () - возвращает состояние устройства.

Производный класс Printer.
Атрибуты:
bool canPrint;
char * ptrBuf;
Команды для функции Execute ():
"Print" - печатает содержимое буфера
"Write" - загружает текст в буфер (prm - рассматривать как char *), изменяет значение переменной canPrint.
"Clear" - обнуляет содержимое буфера, изменяет значение переменной canPrint
+ Переопределить функцию Status () - когда (ext == 1) возвращать значение (isOpened & & canPrint).
Определить конструктор и деструктор (! высвобождать все ресурсы!) класса.

 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2011, 20:44     Разработать программу-драйвер, которая продемонстрирует работу производного класса
Посмотрите здесь:

Разработать шаблон класса реализующего работу с матрицами переменной размерности. - C++
Разработать шаблон класса реализующего работу с матрицами переменной размерности. Тип эле- мента задается как параметр шаблона. Написать...

Разработать программу, имитирующую работу функционального калькулятора - C++
Разработать программу, имитирующую работу функционального калькулятора, который позволяет выбрать с помощью меню какую-либо из известных...

Конструктор производного класса - C++
Доброго времени суток!! Значит так, есть у меня две строки большая и маленькая и два класс String и bString, где bString производный от...

Предобъявление производного класса - C++
Привет всем. Такой вопрос:как предобъявить производный класс? Просто нужно сделать функцию друга как для производного, так и для базового...

Тип производного класса - C++
Как можно узнать тип производного класса на этапе компиляции?#include <iostream> #include <type_traits> struct A {}; struct B : A...

Вызов методов производного класса - C++
Возникла проблема с выполнением задачи. программа запускается, работает, но почему-то не выводит метод scan и print наследовательного...

Конструкторы базового и производного класса - C++
class first { public: first(int a):first(a){} void Setfirst(int a){first=a;} int Getfirst(){return first;} private: ...

Инициализация конструкторов производного класса - C++
Есть два класса class A { int x,y; A(int a, int b): x(a), y(b) { } };

Доступ к методам производного класса - C++
Есть базовый класс CJobGeneral. В нём описано несколько методов. Есть унаследованный от него CJobCitomir с рядом своих методов. Есть...

Ошибка в функции производного класса - C++
Доброго времени суток! У меня такая проблема: не работает функция поп-фронт в производном классе. Не могу понять почему. Если я пробую...

Вызов методов производного класса из базового - C++
Возможно ли, чтобы class A { void f1() { f2();//если вызвано из B, то вызывается B::f2(), а не A::f2() } void f2(){} }

Массив обьектов класса предка и производного - C++
Можно ли, если у меня есть базовый НЕ абстрактный класс и проиводный от него с добавленым полем, допустим, целое число, сделать массив,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xADIKx
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 18
15.05.2011, 15:46  [ТС]     Разработать программу-драйвер, которая продемонстрирует работу производного класса #2
плс очень надо ....
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru