Объектно-ориентированный язык программирования С++ в примерах. Сивохин А.В. - 65 стр.

UptoLike

Составители: 

обеспечения работы стека достаточен один фиксатор,содержащий
адрес последнего записанного элемента,а поле связей первого
элемента пусто.Каждый следующий элемент стека указывает на
предыдущий.
Класс stack определим как производный от класса slist с
помощью следующих логически разделенных действий:
а)ограничение понятия списка:
class ogr_slist:slist
{ public:
slist::insert;
slist::get;
ogr_slist(){}
ogr_slist(ent a):slist(a){}
};
б)задание специальных функций и типа char*,чтобы создать
стек указателей на символы:
class stack:ogr_slist
{ public:
void push(char* a) { slist::insert(a); }
char* pop() { return (char*)slist::get(); }
stack() {}
stack(char* a):ogr_slist(a) {}
};
Очередь(бобслей),как и стек,состоит из элементов,имеющих
два поля:поле связи и поле данных,но в отличие от стека на-
правления чтения и записи в ней совпадают,т.е.элемент,запи-
санный первым,и читается первым.Определим класс очередь це-
лых,совместив два указанных действия для базового класса
slist:
class iqueue:slist
{ public:
void put(int a){slist::append((void*)a); }
int deq() {return int(slist::get());}
iqueue() {}
};
65
обеспечения работы стека достаточен один фиксатор,содержащий
адрес последнего записанного элемента,а поле связей первого
элемента пусто.Каждый следующий элемент стека указывает на
предыдущий.
  Класс stack определим как производный от класса slist с
помощью следующих логически разделенных действий:
  а)ограничение понятия списка:
  class ogr_slist:slist
         { public:
                     slist::insert;
                     slist::get;
                     ogr_slist(){}
                     ogr_slist(ent a):slist(a){}
         };


  б)задание специальных функций и типа char*,чтобы создать
стек указателей на символы:


  class stack:ogr_slist
         { public:
                     void push(char* a)       { slist::insert(a); }
                     char* pop() { return (char*)slist::get(); }
                     stack()                                     {}
                     stack(char* a):ogr_slist(a)                 {}
         };
  Очередь(бобслей),как и стек,состоит из элементов,имеющих
два поля:поле связи и поле данных,но в отличие от стека на-
правления чтения и записи в ней совпадают,т.е.элемент,запи-
санный первым,и читается первым.Определим класс очередь це-
лых,совместив два указанных действия для базового класса
slist:
  class iqueue:slist
         { public:
                     void put(int a){slist::append((void*)a); }
                     int deq()          {return int(slist::get());}
                     iqueue()                                    {}
         };


                                   65