Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > классы


Автор: elenSV 11.5.2009, 09:24
разработать класс для представления понятия "контроллер видеомагнитофона"(обеспечивает програмное управление видеомагнитофоном, который может осуществлять запись, выполнять воспроизведение кассеты и осуществлть перемотку в указанном направлении):

Код

class magnitofon
{
   bool play, rec, kasset;        // Процессы: воспроизведение, запись и наличие кассеты
   int rew;                // Процесс перемотки (положительное число - вперёд на заданный интервал, 
                             // отрицательное число - назад на заданный интервал, 0 - бездействие)
public:
   magnitofon()           // Конструктор
   {
      play = false;
      stop = false;       // По-умолчанию все процессы выключены
      rec = false;
      rew = 0;
      kasset = false;    // По-умолчванию кассеты нет
   }
 
   void m_stop()       // Метод останавливает все процессы видеомагнитофона
   {
      play = false;
      rec = false;
      rew = 0;
   }
 
   void m_play()       // Метод включает воспроизведение кассеты
   {
      m_stop();        // Может быть активен только один процесс, поэтому вызывается метод "Stop"
      play = true;
   }
 
   void m_rew(int interval)  // Метод перематывает кассету в заданном направление
   {
      m_stop();
      rew = interval;          // Перемотка на заданный интервал
   }
 
   void m_rec()        // Метод начинает запись
   {
      if (play) rec = true;  // Запись возможна только при включённом процессе play
   }
 
   void insert()              // Метод вставляет кассету
  {
      m_stop();
      kasset = true;
  }
 
   void get()                // Метод достаёт кассету      
  {
      m_stop();
      kaseta = false ;
  }
 
   bool check()            // Метод проверяет, есть ли кассета
   {
      return kasset;      // Возвращает true, если кассета есть, в противном случае false.
   }
};


А как это в KDevelop оформить как cpp и h файл - какие директивы подключать

Автор: zim22 11.5.2009, 11:18
Цитата(elenSV @  11.5.2009,  09:24 Найти цитируемый пост)
А как это в KDevelop оформить как cpp и h файл - какие директивы подключать


magnitofon.h
Код

#ifndef MAGNITOFON_H
#define MAGNITOFON_H

class magnitofon
{
   bool play, stop, rec, kasset, kaseta;        // Процессы: воспроизведение, запись и наличие кассеты
   int rew;                // Процесс перемотки (положительное число - вперёд на заданный интервал, 
                            // отрицательное число - назад на заданный интервал, 0 - бездействие)
public:
   magnitofon();           // Конструктор    
   void m_stop();       // Метод останавливает все процессы видеомагнитофона
   void m_play();       // Метод включает воспроизведение кассеты
   void m_rew(int interval);  // Метод перематывает кассету в заданном направление
   void m_rec();        // Метод начинает запись
   void insert();              // Метод вставляет кассету
   void get();               // Метод достаёт кассету      
   bool check();            // Метод проверяет, есть ли кассета
};
#endif // MAGNITOFON_H


magnitofon.cpp
Код

magnitofon::magnitofon()           // Конструктор
 {
    play = false;
    stop = false;       // По-умолчанию все процессы выключены
    rec = false;
    rew = 0;
    kasset = false;    // По-умолчванию кассеты нет
 }

 void magnitofon::m_stop()       // Метод останавливает все процессы видеомагнитофона
 {
    play = false;
    rec = false;
    rew = 0;
 }

 void magnitofon::m_play()       // Метод включает воспроизведение кассеты
 {
    m_stop();        // Может быть активен только один процесс, поэтому вызывается метод "Stop"
    play = true;
 }

 void magnitofon::m_rew(int interval)  // Метод перематывает кассету в заданном направление
 {
    m_stop();
    rew = interval;          // Перемотка на заданный интервал
 }

 void magnitofon::m_rec()        // Метод начинает запись
 {
    if (play) rec = true;  // Запись возможна только при включённом процессе play
 }

 void magnitofon::insert()              // Метод вставляет кассету
{
    m_stop();
    kasset = true;
}

 void magnitofon::get()                // Метод достаёт кассету      
{
    m_stop();
    kaseta = false;
}

 bool magnitofon::check()            // Метод проверяет, есть ли кассета
 {
    return kasset;      // Возвращает true, если кассета есть, в противном случае false.
 }


main.cpp
Код

#include "magnitofon.h"

int main()
{
  magnitofon m;
  return 0;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)