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

Стек - C++

Восстановить пароль Регистрация
 
КсенияСергеевна
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 45
09.11.2009, 17:47     Стек #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
#include "stdafx.h" 
#include <iostream> 
using namespace std; 
  
class Stack 
{ 
    private: 
        struct st 
        { st *stack; 
        int top;}; 
        st *last; 
 
    public: 
        Stack(int n)  
        { last = new st; 
        last->top=n; 
        last->stack=NULL; 
        } 
  
        void operator >(int data)  
        { st *pv = new st; 
        pv->top=data; 
        pv->stack=last; 
        last=pv;} 
 
        void operator <(int data)  
        {cout<<last->top<<endl;  
        st *pv=last; 
        last=last->stack; 
        delete pv;} 
 
        void operator>>(int data)  
        {int w; 
            for(int i=0;i<data;i++) 
        {cout<<"vvedite "<<i+1<<" element"<<endl; 
        cin>>w; 
        st *pv = new st; 
        pv->top=w; 
        pv->stack=last; 
        last=pv;}; 
        } 
 
        void operator << (int data) 
        {while(last!=NULL) 
        cout<<last->top<<endl;  
        st *pv=last; 
        last=last->stack; 
        delete pv;} 
}; 
 
 
 int main() 
{Stack R(5); 
R.operator > (8); 
R.operator >>(3); 
R.operator <(0); 
R.operator <<(0); 
 
  system("pause"); 
    return 0; 
}
Это код программы!
Программа звучит так:"создать класс ,описывающий стек. Чтобы в стек можно было добавлять элементы и удалять их,для этого использовать перегруженные операторы (>,>>,<,<<)."
в программе одна ошибка в реализации перегрузки оператора <<(создается зацикливание),остальное работает,помогите исправить!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2009, 17:47     Стек
Посмотрите здесь:

C++ стек
Стек C++
C++ Стек
C++ Стек
C++ Стек
C++ Стек!
C++ Стек
C++ Стек на С++
C++ Стек
C++ Стек
Стек C++
C++ Стек

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
09.11.2009, 18:23     Стек #2
Цитата Сообщение от КсенияСергеевна Посмотреть сообщение
void operator << (int data) {while(last!=NULL) cout<<last->top<<endl; st *pv=last; last=last->stack; delete pv;}
Может просто скобочки фигурные поставить надо?)

Вот так вот:

C++
1
2
3
4
5
6
7
8
9
10
void operator << (int data) 
{
   while(last!=NULL) 
   {
      cout<<last->top<<endl;  
      st *pv=last; 
      last=last->stack; 
      delete pv;
   }
}
КсенияСергеевна
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 45
09.11.2009, 18:36  [ТС]     Стек #3
спасибо,что-то я не сообразила)))
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
09.11.2009, 19:07     Стек #4
КсенияСергеевна, программистка
КсенияСергеевна
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 45
09.11.2009, 19:09  [ТС]     Стек #5
ну у всех свои косяки)))
Yandex
Объявления
09.11.2009, 19:09     Стек
Ответ Создать тему
Опции темы

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