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

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

Войти
Регистрация
Восстановить пароль
 
Gooman
10 / 10 / 0
Регистрация: 03.10.2010
Сообщений: 350
#1

В классе создать ссылку на список - C++

19.02.2012, 12:17. Просмотров 400. Ответов 8
Метки нет (Все метки)

У меня есть список:
C++
1
2
3
4
5
6
struct queue                    // описание списка
{
        int pnum;               // количество протонов
        char name[255];         // имя элемента
        queue *next;            // указатель на следующий элемент
};
Есть класс:
C++
1
2
3
4
5
6
7
8
9
class chemistry
{
        private:
                chemistry *queue;                     // ссылка на список
        public:
                chemistry() { chemistry->pnum = 0; }  // конструктор
                void SetNum (int pn);                 // установка номера
                void PrintChem (queue *beg);          // функция печати данных
};
Нужно в этом классе создать ссылку на список. Я, скорее всего, сделал это неправильно. Подскажите, как надо правильно это сделать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2012, 12:17     В классе создать ссылку на список
Посмотрите здесь:

C++ создать вектор STL в классе
Не могу создать ссылку на объект в массиве C++
C++ Можно ли в не шаблонном классе создать шаблонные методы?
Создать ссылку на другой файл C++
C++ Как создать, вывести и удалить двумерный массив в классе
Создать в классе поле типа другого класса C++
Изменение информации в дочернем классе, через ссылку C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IFree Host
Заблокирован
19.02.2012, 12:24     В классе создать ссылку на список #2
Цитата Сообщение от Gooman Посмотреть сообщение
chemistry *queue; // ссылка на список
Это у тебя указатель
а ссылка записывается так

C
1
chemistry &queue;
Gooman
10 / 10 / 0
Регистрация: 03.10.2010
Сообщений: 350
19.02.2012, 12:27  [ТС]     В классе создать ссылку на список #3
IFree Host, я перепутал, мне надо указатель на динамический тип (список) как поле данных.
IFree Host
Заблокирован
19.02.2012, 12:36     В классе создать ссылку на список #4
C
1
2
3
4
5
6
// предопределить переменную n
chemistry* queue = new chemistry[n];  // создание 
 
queue[2].pnum = 333; // обращение 
 
delete []queue;  // удаление ! удалять обязательно !
Gooman
10 / 10 / 0
Регистрация: 03.10.2010
Сообщений: 350
19.02.2012, 12:39  [ТС]     В классе создать ссылку на список #5
Цитата Сообщение от IFree Host Посмотреть сообщение
C
1
2
3
4
5
6
// предопределить переменную n
chemistry* queue = new chemistry[n];  // создание 
 
queue[2].pnum = 333; // обращение 
 
delete []queue;  // удаление ! удалять обязательно !
У меня не структура, а список. Короче, я, наверно, правильно указатель на список сделал.
IFree Host
Заблокирован
19.02.2012, 12:45     В классе создать ссылку на список #6
Списком в С++ называется вот это

C
1
list<int> spisok;
а у тебя структура
Gooman
10 / 10 / 0
Регистрация: 03.10.2010
Сообщений: 350
19.02.2012, 12:49  [ТС]     В классе создать ссылку на список #7
Цитата Сообщение от IFree Host Посмотреть сообщение
Списком в С++ называется вот это

C
1
list<int> spisok;
а у тебя структура
Список руками делаю. У меня очередь. В структурах не бывает указателя на следующий элемент.
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
19.02.2012, 12:51     В классе создать ссылку на список #8
IFree Host, обычно это все делается в конструкторе\деструкторе.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2012, 12:53     В классе создать ссылку на список
Еще ссылки по теме:

Не получается создать мягкую ссылку C++
C++ Создать конструктор в классе
Функция getline в классе + однонаправленный список C++
Двухсвязный список в классе, метод удаления C++
C++ как дать ссылку в классе на массив который лежит в main

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

Или воспользуйтесь поиском по форуму:
IFree Host
Заблокирован
19.02.2012, 12:53     В классе создать ссылку на список #9
Правильно, потому что структура - это само по себе - элемент. У элемента нет следующего элемента.

Добавлено через 1 минуту
go, согласен, но он это на повестку не ставил
Yandex
Объявления
19.02.2012, 12:53     В классе создать ссылку на список
Ответ Создать тему
Опции темы

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