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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
#1

Связанные списки - C++

13.11.2012, 20:48. Просмотров 662. Ответов 3
Метки нет (Все метки)

Вопросы в комментариях
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
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
class NameDataSet
{
      public:
             string sName;
             NameDataSet* pNext; //1) это указатель на класс или каждый объект содержит указатель на другой объект?
};
 
NameDataSet* pHead = 0;
void add(NameDataSet* pNDS)
{
     pNDS -> pNext = pHead; //2) Обясните как здесь работает оператор -> ? как я знаю он заменяет конструкцию (*pointer).somefn
     pHead = pNDS;
     }
     NameDataSet* getData() //3) функция возвращает адрес объекта?
     {
                  string name;
                  cout << "Enter the name: ";
                  cin >> name;
                  if (name == "exit")
                  {
                           return 0;
                           }
     NameDataSet* pNDS = new NameDataSet;  //4) зачем здесь виделяеться пямять в куче? И почему она потом не удаляется?
     pNDS -> sName = name; //обясните еще эти строки
     pNDS -> pNext = 0;        //
     return pNDS;                 //
     }
 
 
int main()
{
    cout << " 4itaem imena studentiv" << endl;
    cout << "Enter exit for exit :)" << endl;
    NameDataSet* pNDS;
    while(pNDS = getData())
    {
               add(pNDS);
               }
               cout << "RECORDS: " << endl;
               for(NameDataSet * pInter = pHead; pInter; pInter = pInter ->pNext)
               {
                               cout << pInter->sName << endl;
                               } 
    
    getch();
    return 0;
}
В книжке очень мутно написано, прошу детально разжевать чайнику
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2012, 20:48     Связанные списки
Посмотрите здесь:

C++ Односвязанные и двух-связанные списки
C++ связанные списки
C++ Стандартные потоки и связанные с ними исключения
Связанные списки C++
C++ Связанные классы
Связанные списки (переделать программу) C++
Подскажите как отладить код (связанные списки) C++
Связанные списки C++
Ошибки связанные с односвязным списком C++
Списки, как склеить списки между собой? C++
Ошибки в коде, связанные с boost C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12532 / 7094 / 797
Регистрация: 27.09.2012
Сообщений: 17,504
Записей в блоге: 2
Завершенные тесты: 1
13.11.2012, 21:01     Связанные списки #2
C++
1
это указатель на класс или каждый объект содержит указатель на другой объект?
Каждый объект содержит указатель на следующий объект, или на NULL, если элемент последний (все это относится к односвязным спискам).
Цитата Сообщение от coloc Посмотреть сообщение
2) Обясните как здесь работает оператор -> ? как я знаю он заменяет конструкцию (*pointer).somefn
Откройте любую книжку, там написано про "->". Но если уж так невтерпеж, то это обращение к полю pNext объекта на который указывает pNDS.
Цитата Сообщение от coloc Посмотреть сообщение
функция возвращает адрес объекта?
Да. Возвращает указатель.
Цитата Сообщение от coloc Посмотреть сообщение
4) зачем здесь виделяеться пямять в куче? И почему она потом не удаляется?
В куче создается объект и указатель на него возвращается из функции "наружу".
Цитата Сообщение от coloc Посмотреть сообщение
обясните еще эти строки
полю name вновь созданного объекта присваивается то, что мы ввели чуть ранее:
C++
1
2
3
                  string name;
                  cout << "Enter the name: ";
                  cin >> name;
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
13.11.2012, 21:04  [ТС]     Связанные списки #3
Все частично понял еще надо изучать материальную часть
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12532 / 7094 / 797
Регистрация: 27.09.2012
Сообщений: 17,504
Записей в блоге: 2
Завершенные тесты: 1
13.11.2012, 21:04     Связанные списки #4
Цитата Сообщение от coloc Посмотреть сообщение
Все частично понял еще надо изучать материальную часть
структуры и указатели на объекты
Yandex
Объявления
13.11.2012, 21:04     Связанные списки
Ответ Создать тему
Опции темы

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