Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.12.2017
Сообщений: 37
1

Перегрузить операции добавления/извлечения из стека

04.12.2018, 22:24. Показов 976. Ответов 1
Метки нет (Все метки)

Класс - стек stack. Дополнительно перегрузить следующие операции:
+ -Добавить элементы в стек
- -Извлечь элемент
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2018, 22:24
Ответы с готовыми решениями:

Создать стек целочисленных значений. Реализовать операции добавления (push) и удаления (pop) элемента из стека
Создать стек целочисленных значений. Реализовать операции добавления (push) и удаления (pop)...

Перегрузить операции сравнения комплексных чисел и операции потокового вывода
Создать класс комплексное число. Перегрузить операции сравнения комплексных чисел! =, ==,>, <,> =,...

Перегрузить операции +, +=, ==, [], ()
Для класса String перегрузить операции + + = == () таким образом, чтобы обеспечивалось выполнение...

Перегрузить операции
Здравствуйте! Есть уже готовая программа , но в ней нужно перегрузить операции + добавление...

1
6 / 6 / 3
Регистрация: 09.08.2015
Сообщений: 23
04.12.2018, 23:17 2
stack.h
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
#include <cstddef>
 
const int MaxSize = 100;
 
template <class T>
class TStack
{
protected:
    T *pMem;
    int size;
    int count;
public:
    TStack(int = 10);
    ~TStack();
    bool IsEmpty();
    bool IsFull();
    T Top();//view
 
    void operator+(const T &val);//add (push)
    T operator-();//view and del (pop)
};
//-----------------------------------
 
template <class T>
TStack<T>::TStack(int len) {
    if ((len < 1) || (len > MaxSize)) throw (len);
    size = len;
    count = 0;
    pMem = new T[size];
}
 
 
template <class T>
TStack<T>::~TStack() {
    delete[]pMem;
    pMem = NULL;
}
 
template <class T>
bool TStack<T>::IsEmpty() {
    return(count == 0);
}
 
template <class T>
bool TStack<T>::IsFull() {
    return (count == size);
}
 
template <class T>
void TStack<T>::operator+(const T &val)
{
    if (IsFull())  throw (count);
    pMem[count] = val;
    count++;
}
 
template <class T>
T TStack<T>::operator-()
{
    if (IsEmpty()) throw (count);
    count--;
    return pMem[count];
}
 
template <class T>
T TStack<T>::Top() {
    if (IsEmpty()) throw (count);
    return pMem[count - 1];
}
main.cpp
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
#include "stack.h"
#include <iostream>
 
using namespace std;
 
int main()
{
    TStack<int> myStack(MaxSize);
 
    int one = 1;
    int two = 2;
    int three = 3;
 
    cout << endl << "I do not want to have mistakes";
 
    myStack + one;
    if (myStack.Top() != one) {
        cout << endl << "Error!";
    }
    else {
        cout << endl << myStack.Top();
    }
 
    myStack + two;
    if (myStack.Top() != two) {
        cout << endl << "Error!";
    }
    else {
        cout << endl << myStack.Top();
    }
 
    myStack + three;
    if (myStack.Top() != three) {
        cout << endl << "Error!";
    }
    else {
        cout << endl << myStack.Top();
    }
 
    -myStack;
    if (myStack.Top() != two) {
        cout << endl << "Error!";
    }
    else {
        cout << endl << myStack.Top();
    }
 
    -myStack;
    if (myStack.Top() != one) {
        cout << endl << "Error!";
    }
    else {
        cout << endl << myStack.Top();
    }
 
    return 0;
}
1
Миниатюры
Перегрузить операции добавления/извлечения из стека  
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2018, 23:17

Перегрузить операции очереди
Очередь. Дополнительно перегрузить следующие операции: · + - добавить элемент; · извлечь...

Как перегрузить операции?
Я с горем пополам создал класс Bitstring для работы с 64-битовыми строками. Битовая строка...

Перегрузить операции в стеке и очереди
мне нужно перегрузить операции в стэке и очереде, это я знаю как, а вот как написать стэк и...

Перегрузить операторную функцию для операции !
Доброго времени суток форумчане! Задание звучит так:Дополнительно перегрузить операторную функцию...


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

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

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