Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2015, 22:18   #1
guroDragon
Пользователь
 
Регистрация: 09.09.2013
Сообщений: 83
По умолчанию OOP

Всем привет.

Поучил ++, всё окей. Взялся за ооп. Принцип понял, но как свои мозги перестроить из структурного на объектное - не понимаю.

Вот накидал быстро реализацию связного списка, только элементы вконец заносятся. Не могу понять как создать класс (элемент связного списка), как правильно реализовать функции самого связного списка в этом классе, вообще без понятия. Может чё подскажите?

Спасибо!

Код:
#include <iostream>
#include <conio.h>

using namespace std;

struct list
{
	int key;
	list* pnext;
};

list *head = NULL, *endList = NULL;

void push(int tempKey)
{
	list* current = new list;
	current->key = tempKey;
	current->pnext = NULL;
	if (head == NULL)
	{
		head = current;
	}
	else
	{
		if (head->pnext == NULL)
		{
			head->pnext = current;
			endList = current;
		}
		else
		{
			endList->pnext = current;
		}
	}
}

void displayList ()
{
	list* current = new list;
	current = head;
	if (current == NULL)
	{
		cout<<"The list is empty"<<endl;
	}
	else
	{
		while (current!=NULL)
		{
		cout<<current->key<<endl;
		current = current->pnext;
		}
	}

}

int main()
{
	int tmpint(0);
	cin>>tmpint;
	push(tmpint);
	cin>>tmpint;
	push(tmpint);
	cin>>tmpint;
	push(tmpint);
	system("cls");
	cout<<"List:"<<endl;
	displayList();
	_getch();
	return 0;
}

Последний раз редактировалось Stilet; 14.10.2015 в 09:03.
guroDragon вне форума Ответить с цитированием
Старый 14.10.2015, 07:19   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от guroDragon Посмотреть сообщение
Принцип понял, но как свои мозги перестроить из структурного на объектное - не понимаю.
Сразу не перестроить. В Вашей программе я вижу только структуру, функции и тело консольного майна. Попытка создать класс была?

Код:
class MyClass()
{
  public:
    MyClass();// Конструктор
    ~MyClass();// Деструктор
  private://***
  protected://***
}
Без понимания того, что объектное программирование строится на классах, далеко Вы не продвинитесь.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 14.10.2015, 09:05   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
...
struct list
{
	int key;
	list* pnext;
};

class closs {
private:
 list *head = NULL, *endList = NULL;
public:
 void push(int tempKey){...}
 void displayList (){...}

}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.10.2015, 09:31   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
...
struct list
{
	int key;
	list* pnext;
};

class closs {
private:
 list *head = NULL, *endList = NULL;
public:
 void push(int tempKey){...}
 void displayList (){...}

}
Stilet, по сути - да, Но чел мечется, не знает чё делать (свобода выбор, такая дрянь). Это для тех, кто уже определился. Для тех, кто не определился или находится на перепутье, "свобода выбора" Может завести Бог весть куда.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 14.10.2015 в 09:33.
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запутанный код (OOP PHP) Newpitbull PHP 3 16.05.2012 02:11
OOP Pascal МихаилС Помощь студентам 1 23.10.2011 13:56
OOP Pascal TCollection МихаилС Помощь студентам 0 22.10.2011 22:41