Да, вы.
while(i<=ch.a.quantity()){
должно быть
while(i<ch.a.quantity()){
Допустимые векторные индексы равны нулю вплоть до размера вектора минус один. Это должно быть очевидно, если действительные индексы начинаются с нуля и доходят до размера вектора, тогда будет более действительный индекс, чем размер вектора, что не имеет смысла.
Обычно вы используете для l oop для такого рода задач
for (int i = 0; i < ch.a.quantity(); i++) {
a += ch.a.getAns(i);
}
Это немного легче читать таким образом.