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

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

Войти
Регистрация
Восстановить пароль
 
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 366
Записей в блоге: 1
#1

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

20.02.2013, 21:54. Просмотров 698. Ответов 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);
};
кугается.
как обьявить вектор в классе? спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2013, 21:54     Как объявить vector в классе?
Посмотрите здесь:

C++ Как правильно объявить vector в классе?
C++ Не могу объявить вектор в классе
C++ Как в классе правильно объявить массив с константой в качестве размерности?
Непонятное поведение list, vector в другом классе C++
C++ Как объявить массив объектов одного класса в другом классе, а затем поместить в него объекты?
Можно ли объявить глобальный константный заполненный std::vector ? C++
Как объявить вектор фиксированной длины в классе? C++
C++ Как объявить текстовую константу в классе?
Двумерный vector в классе C++
Std::vector/QVector в классе или std::vector/QVector классов? C++
Использование контейнера vector и перегрузка операций в классе C++
Vector в Классе C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1887 / 1742 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
20.02.2013, 22:03     Как объявить vector в классе? #2
вектор чего??? Nodeов?
А Node это тоже шаблон какой-то?
Так у тебя не класс тут представлен, а шаблон класса. Тебе же шаблон нужен?

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

Добавлено через 2 минуты
Цитата Сообщение от slipp1 Посмотреть сообщение
кугается.
Обычно после таких слов пишут КАК именно кугается.
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 366
Записей в блоге: 1
20.02.2013, 22:08  [ТС]     Как объявить vector в классе? #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)
{
}
сделал так. работает.
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
20.02.2013, 22:10     Как объявить vector в классе? #4
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
разве можно инициализировать поля прямо в объявлении класса?
в С++11 можно.
Kuzia domovenok
1887 / 1742 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
20.02.2013, 22:13     Как объявить vector в классе? #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++ Посмотреть сообщение
можно инициализировать переменные члены внутри класса
Если это правда, то С++ ещё сильнее скатился в высокоуровневое дерьмо.
rangerx
1922 / 1531 / 139
Регистрация: 31.05.2009
Сообщений: 2,894
20.02.2013, 23:43     Как объявить vector в классе? #6
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
не знаю такого.
Самый обыкновенный стандартный C++...
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Если это правда, то С++ ещё сильнее скатился в высокоуровневое дерьмо.
Не вижу ничего плохого в возможности инициализации поля класса значением по умолчанию вместо дублирования кода в списках инициализации разных версий конструкторов.
Yandex
Объявления
20.02.2013, 23:43     Как объявить vector в классе?
Ответ Создать тему
Опции темы

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