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

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

Войти
Регистрация
Восстановить пароль
 
end123
3 / 3 / 0
Регистрация: 14.09.2010
Сообщений: 49
#1

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

23.10.2011, 13:17. Просмотров 462. Ответов 0
Метки нет (Все метки)

у меня есть класс Стек нужно дописать перегруженные операторы добавления и изъятие элемента )
помогите пожалуйста )

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

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++
Задание такое: Создать класс Stack – стек, используя динамическую память. Определить операторы &quot;+&quot; – сложения стеков, &quot;=&quot; – присваивания,...

Дописать классу арифметические действия - C++
Помогите. Нужно сделать сложение, вычитание, умножение и деление. #include &lt;iostream&gt; using namespace std; class ch {private: int...

Дописать функционал к классу матриц - C++
Всем привет,написал класс матриц со следующими операциями +,-,*,=,=! .Мой преподаватель говорит что нужно объявить конструкторы и...

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this - C++
Добрый день . Помогите понять принцип работы перегрузки операторов. объясните пожалуйста в зависимости от чего зависит агрумент при...

Дописать к классу Date метод IncrementDate - C++
Используя класс Date. Изменить класс Date для включения метода IncrementDate. Он принимает положительное число дней в диапазоне 0-365,...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2011, 13:17
Привет! Вот еще темы с ответами:

Дописать к классу Fraction конструктор по умолчанию - C++
кто может дописать к классу конструктор по умолчанию, с параметрами, копирования и деструктор #include &lt;cstdlib&gt; #include &lt;iostream&gt; ...

Перегрузка операторов - C++
Расскажите можно ли как-то сделать перегрузку операторов не в классе, а в своём пространстве имён?

Перегрузка операторов >>, <<, [] - C++
задача: написать перегруженные операторы &lt;&lt;, &gt;&gt; и для объекта массив деков символов. Объект дек реализован. проблема с квадратными...

Перегрузка операторов - C++
Здравствуйте! Сделал класс квадратной матрицы. Содержит конструктор по умолчанию, конструктор с параметрами, конструктор копирования,...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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