2015-07-28 5 views
-3

Я пытался создавать объекты для динамического использования объектов с помощью вектора.Как получить доступ к элементам объекта, созданного с помощью вектора

class lib 
{ 
    int a; 
}; 

THEN Использование этого для создания объектов.

vector<lib> book; 
book.resize(n); //n is the number of objects. 

Так что я пытаюсь получить доступ к «а» из класса.

book[0].a= something; 

Это не работает. Что я делаю неправильно? Я получаю ошибку времени выполнения.

+1

возможно перейти к SO? Но даже если вы спросите об этом, вы должны достаточно разместить свой код, чтобы проблема была _reproducible_. Кроме того, что не работает? Компиляции ошибок? Неверные результаты? Что вы ожидаете? Что вы получаете? С точки зрения обзора кода я бы сказал, что ваш класс - это книга. Тогда вектор книг можно рассматривать как lib. (Вместо того, чтобы наоборот, как у вас здесь.) – dingalapadum

+0

Участник 'a' является частным. –

ответ

1

Вы можете сделать book[0].a= something; только если lib становится struct (вместо class), или если вы сделаете a общественность.

Вы также можете создать аксессоров (int getA() const;void setA(int);) и вызвать book[0].setA(something);

+0

Я попробовал сделать «общедоступным» и использовать аксессоры. Оба они не работали. Использование структуры вместо класса также не работает. –

+0

@SangeetSingh Какая у вас ошибка? – Vultrao

Смежные вопросы