У меня была проблема с переопределением, но я заметил, что я уже включил файл .cpp в файл .hpp, поэтому моя ошибка заключалась в том, что я снова включил файл .hpp в мой файл .cpp. Теперь я получаю эту ошибку, что-то связанное с шаблонами.,Также, пока вы решаете мою проблему, можете ли вы объяснить мне, что делает класс шаблона?cplusplus.com не такой описательный.Спасибо.:)
//implementation
template<class T>
ArrayBag<T>::ArrayBag() : item_count_(0){}
------------- ВНИМАНИЕ, ВЫ СЕЙЧАС ВЫХОДИТЕ ОТ РЕАЛИЗАЦИИ ---------------------------
//interface
#ifndef ARRAY_BAG_H
#define ARRAY_BAG_H
#include <vector>
template<class T>
class ArrayBag
{
protected:
static const int DEFAULT_CAPACITY = 200;
T items_[DEFAULT_CAPACITY];
int item_count_;
int get_index_of_(const T& target) const;
public:
ArrayBag();
int getCurrentSize() const;
bool isEmpty() const;
//adds a new element to the end, returns true if it was successfully been added
bool add(const T& new_entry);
bool remove(const T& an_entry);
void clear();
bool contains(const T& an_entry) const;
int getFrequencyOf(const T& an_entry) const;
std::vector<T> toVector() const;
void display() const;
//overloading operators for objects
void operator+=(const ArrayBag<T>& a_bag);
void operator-=(const ArrayBag<T>& a_bag);
void operator/=(const ArrayBag<T>& a_bag);
};
#include "ArrayBag.cpp"
#endif
------------- ВНИМАНИЕ, ВЫ СЕЙЧАС УХОДИТЕ В ИНТЕРФЕЙС ---------------------------
//error
5 C:\Users\minahnoona\Desktop\ArrayBag.cpp expected constructor, destructor, or type conversion before '<' token
5 C:\Users\minahnoona\Desktop\ArrayBag.cpp expected `;' before '<' token