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

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

13.11.2012, 20:48. Показов 945. Ответов 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;
}
В книжке очень мутно написано, прошу детально разжевать чайнику
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2012, 20:48
Ответы с готовыми решениями:

Связанные списки
Здравствуйте! Не очень сложное задание, но так как я начинающий, запуталась немного... особенно с...

связанные списки
плиз помогите написать задачку: Запросить у пользователя число n. Построить связный список из n...

Связанные списки
Составить программу, работающую со связанными списками. Мы будем рассматривать связанный список как...

Связанные списки С++
Здравствуйте, изучаю С++ и возникли проблемы с пониманием как работают списки. Вот код: ...

3
Don't worry, be happy
17172 / 10055 / 1935
Регистрация: 27.09.2012
Сообщений: 25,048
Записей в блоге: 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;
1
погромист
413 / 249 / 30
Регистрация: 27.08.2012
Сообщений: 550
13.11.2012, 21:04  [ТС] 3
Все частично понял еще надо изучать материальную часть
0
Don't worry, be happy
17172 / 10055 / 1935
Регистрация: 27.09.2012
Сообщений: 25,048
Записей в блоге: 1
13.11.2012, 21:04 4
Цитата Сообщение от coloc Посмотреть сообщение
Все частично понял еще надо изучать материальную часть
структуры и указатели на объекты
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2012, 21:04

Связанные списки данных
Программа должна удалить все повторяющиеся числа, оставив только их первые вхождения. Обязательно...

Связанные списки (переделать программу)
Как переделать программу, чтобы можно было вводить самому ключи и не было Access Violation?...

Односвязанные и двух-связанные списки
Должны быть следующие функции: 1) Ввод количества элементов и заполнение списка случайными...

Подскажите как отладить код (связанные списки)
условие закомментировано в коде, подскажите, в чём ошибка? функция Sum Должна возвращать требуемое...

Списки, как склеить списки между собой?
Ребят, привет всем, есть код, в классе которого описаны несколько методов: добавление элемента в...

Связанные классы
Есть несколько классов,каждый объект которого имеет объект другого класса в качестве элемента...


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

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

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