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

Оформить функции в виде методов класса - C++

Восстановить пароль Регистрация
 
feniks
0 / 0 / 0
Регистрация: 16.12.2012
Сообщений: 31
14.01.2014, 19: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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
 
struct Stack
{
    int data;
    struct Stack *next;
};
 
typedef struct Stack StackN;
typedef StackN *StackPtr;
 
void push( StackPtr *,int);
int pop(StackPtr*);
int isEmpty(StackPtr);
void printStack(StackPtr);
void instructions(void);
 
 
/*вставить значение в вершину стека*/
void push(StackPtr *top, int info)
{
    StackPtr newP; 
    newP=(StackPtr)malloc(sizeof(StackN));
    if(newP!=NULL) 
    {
        newP->data=info;
        newP->next=*top;
        *top=newP;
    }
    else
        printf("%d Ошибка. Недостаточно памяти.\n",info);
}
 
/*стек пуст?*/
int isEmpty(StackPtr top)
{
    return top==NULL;
} 
 
int main()
{
    setlocale(LC_CTYPE, "Russian_Russia.1251");
    StackPtr stackPtr=NULL; /*указывает на вершину стека*/
    int choice, value;
    instructions();
    printf("?");
    scanf("%d",&choice);
 
    while(choice!=3) 
    {
        switch(choice){
case 1:   /*затолкнуть значение в стек*/
    printf("Введите целое число: ");
    scanf("%d", &value);
    push(&stackPtr, value);
    printStack(stackPtr);
    break;
case 2: /*вытолкнуть значение из стека*/
    if(!isEmpty(stackPtr))
        printf("Удалить значение %d.\n", 
        pop(&stackPtr));
    printStack(stackPtr);
    break;
default:
    printf("Неверный выбор.\n\n");
    instructions();
    break;
        }
        printf("?");
        scanf("%d", &choice);
    }
    printf("Завершение.\n");
    return 0;
}
 
/*вывести инструкции*/
void instructions(void)
{
    printf("Введите выбор:\n"
        "1  Добавить новый элемент в стек\n"
        "2  Удалить элемент из стека\n"
        "3  Завершить работу программы\n");
}
 
/*удалить значение из вершины стека*/
int pop(StackPtr *top)
{
    StackPtr temp; 
    int popValue;
    temp=*top;
    popValue=(*top)->data;
    *top=(*top)->next;
    free(temp);
    return popValue;
}
 
/*распечатать содержимое стека*/
void printStack(StackPtr current)
{
    if(current==NULL)
        printf("Стек пуст\n\n");
    else {
        printf("Стек:");
 
        while(current!=NULL){
            printf("%d ",current->data);
            current=current->next;
        }
        printf("NULL\n\n");
    }
}
Нужно функции запихнуть в классы, проблема в том, что в классах я ничего не понимаю. Подскажите как это сделать, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2014, 19:17     Оформить функции в виде методов класса
Посмотрите здесь:

Вычисление формулы! Оформить в виде функции!! C++
C++ Оформить в виде функции
C++ Оформить в виде функции на C++ решение задачи
C++ Оформить в виде функции на С/С++ решение задачи
C++ Оформить в виде функции
C++ Оформить в виде функции
оформить в виде функции одномерный массив C++
Оформить в виде функции C++
C++ Вычисление корня n степени оформить в виде функции
Оформить обработку в виде функции C++
Оформить решение в виде функции C++
Оформить каждый пункт задания в виде функции C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
14.01.2014, 19:20
  #2

Не по теме:

Цитата Сообщение от feniks Посмотреть сообщение
в классах я ничего не понимаю
Цитата Сообщение от feniks Посмотреть сообщение
Подскажите
Уточняющий вопрос: подсказать или сделать за Вас?

feniks
0 / 0 / 0
Регистрация: 16.12.2012
Сообщений: 31
14.01.2014, 19:23  [ТС]     Оформить функции в виде методов класса #3
Подсказать хороший пример, на котором было бы понятно расписано простым языком, литературу. Плюс для моего примера возможно есть какие-либо примечания, которые следует учесть.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
14.01.2014, 19:25     Оформить функции в виде методов класса #4
feniks, http://code-live.ru/post/cpp-classes/
0x10
2437 / 1609 / 235
Регистрация: 24.11.2012
Сообщений: 3,949
14.01.2014, 19:27     Оформить функции в виде методов класса #5
По литературе: отсюда (Литература C++) любая книга из первого блока, глава про классы.
По теме: пишете класс, внутри которого в приватной части будет указатель на вершину стека. Он у вас сейчас передается первым аргументом в каждую функцию. Функции делаете публичнми методами класса - т.о. у них остается доступ к указателю top и необходимость в первом параметре пропадает. На этом переписывание заканчивается, остается только разобраться с синтаксисом. Примеры есть в книгах.
Yandex
Объявления
14.01.2014, 19:27     Оформить функции в виде методов класса
Ответ Создать тему
Опции темы

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