В настоящее время я работаю над заданием (поэтому я не буду публиковать полный код), пытаясь реализовать абстрактный тип данных Bag.
Ниже приведен метод, который я сейчас пытаюсь реализовать:
template <typename T>
Bag<T> Bag<T>::operator+ (const Bag<T>& bag) {
int sizeofCurrentMultiset = cardinality_;
int sizeofPassedMultiset = bag.cardinality_;
int totalSize = sizeofCurrentMultiset + sizeofPassedMultiset;
Bag<T> newBag(totalSize);
for (int i = 0; i < sizeofCurrentMultiset; i++) {
newBag.insert(array_[i]);
}
for (int i = 0; i < sizeofPassedMultiset; i++) {
newBag.insert(bag.array_[i]);
}
return newBag;
}
Я храню элементы в виде динамического массива.
Моя проблема в том, что при возврате новой сумки я могу напечатать штраф мощности (печатает до 4, в исходных сумках было по два элемента в каждой), но динамический массив не содержит чисел (он выводит некоторые случайные числа). цифры, такие как -1789102). Однако, когда я пытаюсь распечатать элементы до того, как сумка будет возвращена, она печатается нормально.
Без сомнения, это будет что-то тривиальное, но я был бы признателен за помощь.
Спасибо.