Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
sinner_v
0 / 0 / 1
Регистрация: 30.11.2014
Сообщений: 7
#1

Перегрузка операции - C++

11.04.2015, 14:58. Просмотров 222. Ответов 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
    class stack {
private:
    int size;
    int* data;
    size_t ptr;
public:
 
    stack(int valid_stack_size) {
        this->size = valid_stack_size;
        this->ptr = 0;
        this->data = new int[valid_stack_size];
    }
 
    ~stack() {
        delete[] this->data;
    }
 
    void push(int value) {
        if (this->ptr >= (size_t)this->size)
            throw "stack is full\n";
        this->data[this->ptr++] = value;
    }
 
    int pop() {
        if (this->ptr == 0)
            throw "stack is empty";
        return this->data[--this->ptr];
    }
 
};
 
int main() {
    int k=0;
    stack* f=new stack(10);
    a:
    cout<<"Enter number\t";
    int n=0;
    cin>>n;
    if (n!=00)
    {f->push(n);
    k++;
    if (k<5)
    goto a;
    else 
    cout<<"stack is full\n";}
    for (int i=0;i<k;i++)
cout<<f->pop()<<"  ";
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2015, 14:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перегрузка операции (C++):

Перегрузка операции %
Как перегрузить операцию % в с++?

Перегрузка операции
Здравствуйте, можете пожалуйста помочь с кодом на перегрузку операции: + −...

Перегрузка операции >>
Всем привет! Суть: есть класс, есть объект, есть перегруженная операция &gt;&gt; для...

Перегрузка операции
Здравствуйте! Нужно перегрузить операцию &lt;&lt; для вставки полей объекта класса в...

Перегрузка операции =
Здравствуйте, в программе вылезает такая ошибка MainUnit.cpp(86): E2034...

Перегрузка операции
Как реализовать код ? &quot;Определить операции над строками :Вставка символа на...

1
Gr1f0nn
242 / 162 / 133
Регистрация: 30.09.2012
Сообщений: 690
11.04.2015, 15:39 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    friend stack operator+(const stack  b,  int i) // stack = stack + 15;
    {
        stack  temp;
        temp = b; // необходимо будет перегрузить оператор присваивания или конструктор копирования 
//(для такой конструкции temp(b) )
        temp.push(i);
        return temp;
    }
 
    friend stack operator+( int i, const stack  b) stack = 15 + stack;
    {
        return (b + i);
    }
 
    stack &operator+=(int i) // stack += 15;
    {
        push(i);
        return *this;
    }
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2015, 15:39
Привет! Вот еще темы с решениями:

Перегрузка операции =
Подскажите пожалуйста как для шаблонной функции перегрузить = есть не сложно то...

Перегрузка операции []
Добрый день. Столкнулся с недопониманием, странной ошибкой. #include...

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

Перегрузка операции >>
Здравствуйте. Возник такой вопрос: возможни ли перегрузить оператор &gt;&gt; так,...


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

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

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