Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
slipp1
13 / 12 / 9
Регистрация: 09.11.2012
Сообщений: 367
Записей в блоге: 1
1

Как объявить vector в классе?

20.02.2013, 21:54. Просмотров 1106. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
template<typename NODETYPE>
class List
{
public:
    List();
    ~List();
        ...
private:
    ...
    vector<Node<NODETYPE> *> index(10);
};
кугается.
как обьявить вектор в классе? спасибо.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2013, 21:54
Ответы с готовыми решениями:

Как правильно объявить vector в классе?
как правильно объявить вектор? #include &lt;vector&gt; #include &lt;algorithm&gt; using namespace std;...

Vector<MyStruct> - как првильно объявить iterator
struct _1C { string Tag; string Rus; string Eng; _1C(const string &amp;Tag, const string &amp;Rus,...

Как объявить переменную в классе?
Доброго времени суток. Как правильно объявить переменную в private: Делаю так: private:...

Как объявить текстовую константу в классе?
Добрый вечер. Нужно объявить текстовую константу в классе. Как это сделать? static const QString...

Как объявить вектор фиксированной длины в классе?
Нужно создать поле класса - вектор из двух элементов. Но код: class A { private: ...

5
Kuzia domovenok
2808 / 2415 / 618
Регистрация: 25.03.2012
Сообщений: 8,615
Записей в блоге: 1
Завершенные тесты: 1
20.02.2013, 22:03 2
вектор чего??? Nodeов?
А Node это тоже шаблон какой-то?
Так у тебя не класс тут представлен, а шаблон класса. Тебе же шаблон нужен?

Кстати, разве можно инициализировать поля прямо в объявлении класса? Я такие вещи всегда в списке инициализации в конструкторе делал. Может что изменилось? Лучше напиши нормальный конструктор без выпендрёжа. И в нём сконструируй вектор.

Добавлено через 2 минуты
Цитата Сообщение от slipp1 Посмотреть сообщение
кугается.
Обычно после таких слов пишут КАК именно кугается.
0
slipp1
13 / 12 / 9
Регистрация: 09.11.2012
Сообщений: 367
Записей в блоге: 1
20.02.2013, 22:08  [ТС] 3
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
вектор чего??? Nodeов?
А Node это тоже шаблон какой-то?
Так у тебя не класс тут представлен, а шаблон класса. Тебе же шаблон нужен?

Кстати, разве можно инициализировать поля прямо в объявлении класса? Я такие вещи всегда в списке инициализации в конструкторе делал. Может что изменилось? Лучше напиши нормальный конструктор без выпендрёжа. И в нём сконструируй вектор.

Добавлено через 2 минуты
Обычно после таких слов пишут КАК именно кугается.
нужен векто с 10 элементами типа Node<NODETYPE> * как и где его правильно обьявить?

Добавлено через 1 минуту
Цитата Сообщение от slipp1 Посмотреть сообщение
кугается.
error C2059: syntax error : 'constant'

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
template<typename NODETYPE>
class List
{
public:
    List();
    ~List();
private:
    vector<Node<NODETYPE> *> index;
};
 
template<typename NODETYPE>
List<NODETYPE>::List()
:firstPtr(0),lastPtr(0),index(10)
{
}
сделал так. работает.
0
Issues
432 / 367 / 149
Регистрация: 06.08.2012
Сообщений: 961
20.02.2013, 22:10 4
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
разве можно инициализировать поля прямо в объявлении класса?
в С++11 можно.
0
Kuzia domovenok
2808 / 2415 / 618
Регистрация: 25.03.2012
Сообщений: 8,615
Записей в блоге: 1
Завершенные тесты: 1
20.02.2013, 22:13 5
я сделал бы так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
using namespace std;
template<typename NODETYPE>
class Node{
public:
    Node(){};
};
template<typename NODETYPE>
class List
{
private:
    vector<Node<NODETYPE>*> index;
public:
    List(): index(10){};
    ~List(){};
};
Добавлено через 1 минуту
Цитата Сообщение от SeregaC++ Посмотреть сообщение
в С++11
не знаю такого.
Цитата Сообщение от SeregaC++ Посмотреть сообщение
можно инициализировать переменные члены внутри класса
Если это правда, то С++ ещё сильнее скатился в высокоуровневое дерьмо.
0
rangerx
1954 / 1563 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
20.02.2013, 23:43 6
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
не знаю такого.
Самый обыкновенный стандартный C++...
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Если это правда, то С++ ещё сильнее скатился в высокоуровневое дерьмо.
Не вижу ничего плохого в возможности инициализации поля класса значением по умолчанию вместо дублирования кода в списках инициализации разных версий конструкторов.
0
20.02.2013, 23:43
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2013, 23:43

Как в классе правильно объявить массив с константой в качестве размерности?
Приветствую всех! Написал следующий код: Unit1.h class WireBare_Open { const int...

Как объявить в классе static-массив, не используя cpp файлы
Есть шаблон. В шаблон в качестве аргумента надо передать массив. Именно в качестве аргумента...

Объявить в классе-наследнике указатель, указывающий туда же, куда указывает указатель в классе-родителе
Здравствуйте. Имеется базовый класс MainWindow: #ifndef MAINWINDOW_H #define MAINWINDOW_H...


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

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

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