Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

13.11.2012, 20:48. Просмотров 747. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2012, 20:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Связанные списки (C++):

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

Связанные списки С++ - C++
Здравствуйте, изучаю С++ и возникли проблемы с пониманием как работают списки. Вот код: #include &lt;cstdio&gt; #include &lt;cstdlib&gt; ...

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

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

Связанные списки (переделать программу) - C++
Как переделать программу, чтобы можно было вводить самому ключи и не было Access Violation? #include &lt;iostream&gt; #include &lt;time.h&gt; ...

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

3
Croessmah
Ушел
13768 / 8018 / 924
Регистрация: 27.09.2012
Сообщений: 19,740
Записей в блоге: 3
Завершенные тесты: 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
coloc
погромист
411 / 247 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
13.11.2012, 21:04  [ТС] #3
Все частично понял еще надо изучать материальную часть
0
Croessmah
Ушел
13768 / 8018 / 924
Регистрация: 27.09.2012
Сообщений: 19,740
Записей в блоге: 3
Завершенные тесты: 1
13.11.2012, 21:04 #4
Цитата Сообщение от coloc Посмотреть сообщение
Все частично понял еще надо изучать материальную часть
структуры и указатели на объекты
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2012, 21:04
Привет! Вот еще темы с ответами:

Подскажите как отладить код (связанные списки) - C++
условие закомментировано в коде, подскажите, в чём ошибка? функция Sum Должна возвращать требуемое число // ВЫЧИСЛЯЕТ СУММУ ТЕХ ЭЛЕМЕНТОВ...

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

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

Ошибки связанные с wininet - C++
Здравствуйте. Проект выглядит так: #include &quot;stdafx.h&quot; #include &lt;windows.h&gt; #include &lt;stdio.h&gt; #include &lt;fstream&gt; #include...


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

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

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