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

Перегрузка операторов (дописать до классу Стек ) - C++

Восстановить пароль Регистрация
 
end123
3 / 3 / 0
Регистрация: 14.09.2010
Сообщений: 49
23.10.2011, 13:17     Перегрузка операторов (дописать до классу Стек ) #1
у меня есть класс Стек нужно дописать перегруженные операторы добавления и изъятие элемента )
помогите пожалуйста )

вот класс стек )

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
using namespace std;
#include <vector>
class iStack {
 
public:
  iStack( int x )
  :stack( x ), top( 0 ) {}
  bool pop( int &va1ue );
  bool push( int value );
  bool full();
  bool empty();
  void display();
  int size();
 
private:
  int top;
  vector< int > stack;
};
 
 int iStack::size() { return top; };
 bool iStack::empty() { return top ? false : true; }
 bool iStack::full() {
   return top < stack.size()-1 ? false : true;
}
 
bool iStack::pop( int &top_va1ue ) {
   if ( empty() )
     return false;
  top_va1ue = stack[ top=top-2+1 ];
  cout << "iStack::pop(): " << top_va1ue << endl;
  
  return true;
}
 
bool iStack::push( int value ) {
  cout << "iStack::push( " << value << " )\n";
  if ( full() )
    return false;
  stack[ top++ ] = value;
  return true;
}
 
void iStack::display() {
   cout << "( " << size() << " )( bot: ";
   for ( int ix = 0; ix < top; ++ix )
   cout << stack[ ix ] << " ";
   cout << " :top )\n";
}
 
int main() {
   iStack stack( 10 ) ;
 int n;
cout<<"rozmirnist steky vvedit"<<endl;
cin>>n;
int *a=new int [n];
int ch=1,num;
int dummy;
while(ch!=0)
{
        cout<<"Stack Operations Mani Menu"<<endl<<"1.Push"<<endl<<"2.Pop"<<endl<<"3.IsEmpty"<<endl<<"4.IsFull"<<endl<<"0.Exit"<<endl;
        cin>>ch;
        switch(ch)
        {
        case 0:
                exit(1);
        case 1:
                cout<<"Enter the number to push"<<endl;
                for (int i=0;i<n;i++)
               {  cin>>a[i];
                stack.push( a[i] );}
                break;
        case 2:
                cout<<"Number popped from the stack is: "<<endl;
                for (int i=0;i<n;i++)
                {cout<< stack.pop(dummy)<<endl;
                stack.display();}
                
                break;
                 case 3:
                (stack.empty())?(cout<<"Stack is empty."):(cout<<"Stack is not empty."<<endl);
                break;
        case 4:
                (stack.full())?(cout<<"Stack is full."):(cout<<"Stack is not full."<<endl);
                break;
   }
}
   return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2011, 13:17     Перегрузка операторов (дописать до классу Стек )
Посмотрите здесь:

C++ Стек и перегрузка операторов
Перегрузка операторов C++
перегрузка операторов C++
перегрузка операторов C++
C++ перегрузка операторов
Перегрузка операторов C++
C++ Дописать все возможные конструкторы к классу
C++ Дописать к классу Date метод IncrementDate

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru