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

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

Войти
Регистрация
Восстановить пароль
 
Zimos
1 / 1 / 0
Регистрация: 12.04.2014
Сообщений: 44
#1

Инициализация элементов вектор - C++

25.11.2014, 13:36. Просмотров 277. Ответов 3
Метки нет (Все метки)

В программе создается вектор и первому элементу вектора присваивается объект класса TestClass. Подскажите пожалуйста, в чем ошибка?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class TestClass
{   
public:
    int a;
    TestClass(int paramA) // конструктор
    {
        a = paramA;
    }
};
 
int _tmain(int argc, _TCHAR* argv[])
{   
    TestClass obj(5);
 
    std::vector<TestClass> myVector(1);
    myVector[0] = obj;
    cout << myVector[0].a;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2014, 13:36     Инициализация элементов вектор
Посмотрите здесь:

Сформировать вектор из диагональных элементов матрицы C++
Двумерный массив,вектор из суммы элементов C++
C++ Построить вектор из элементов матрицы
вектор элементов класса C++
Инициализация элементов массива в конструкторе C++
C++ Инициализация, добавление и удаление элементов в СТЕКЕ
C++ Вектор, добавления элементов
C++ Получить вектор age, в котором порядок элементов соответствовал бы порядку элементов вектора name
Сформировать вектор из элементов диагонали матрицы C++
C++ Создать вектор X из положительных элементов вектора A
Вектор векторов инициализация C++
Из элементов матрицы сформировать вектор средних арифметических парных элементов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mss307
118 / 118 / 25
Регистрация: 14.12.2013
Сообщений: 352
25.11.2014, 13:41     Инициализация элементов вектор #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Добавлено через 1 минуту
C++
1
2
3
4
5
    TestClass obj(5);
 
    std::vector<TestClass>  myVector;
    myVector.push_back(obj);
    cout << myVector[0].a;
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
25.11.2014, 13:44     Инициализация элементов вектор #3
Zimos,
C++
1
std::vector<TestClass> myVector(1);
это создание вектора с одним элементом, дефолтно инициализированным, учитывая, что конструктора без аргументов у класса нет - компиляция не будет успешной.
Лучше делать так:
C++
1
2
std::vector<TestClass> myVector;
myVector.push_back(obj);
Или же сразу создать вектор из 1 инициализированного элемента
C++
1
std::vector<TestClass> myVector(1, obj);
Zimos
1 / 1 / 0
Регистрация: 12.04.2014
Сообщений: 44
25.11.2014, 13:45  [ТС]     Инициализация элементов вектор #4
Спасибо, работает.
Yandex
Объявления
25.11.2014, 13:45     Инициализация элементов вектор
Ответ Создать тему
Опции темы

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