Интерфейсы и их реализация

191
14 июля 2018, 06:30

Не могу никак разобраться с интерфейсами и их реализацией. Обьясните пожалуйста как их правильно реализовывать и как это хотя-бы примерно делается в моем случае. Дословно задание выглядит так You have the following interface:

template<class T> 
class Stack 
{ 
public: 
Stack(); 
~Stack(); 
Stack( const Stack& ); 
Stack& operator=( const Stack& ); 
size_t Count() const; 
void Push( const T& ); 
T Рор(); // throws an exception if stack is empty 
private: 
//..... 
};

Please write a class which implements the interface by using std::vector or describe in detail how it can be done.

Answer 1

Вам говорят, что скорее всего у Вас есть два варианта - отнаследоваться от этого класса и реализовать все его функции (но это маловероятно - виртуального деструктора нет и специально оставлена секция private, которой у интрефесов не должно быть).

Поэтому, скорее всего, нужно просто написать реализации функций.

template<class T> 
class Stack 
{ 
public: 
Stack(); 
~Stack(); 
Stack( const Stack& ); 
Stack& operator=( const Stack& ); 
size_t Count() const; 
void Push( const T& item); 
T Рор(); // throws an exception if stack is empty 
private: 
  std::vector<T> m_data; 
};

и дальше собственно реализации

size_t Stack::Count() const { return m_data.size(); }
void Stack::Push( const T& item) { m_data.push_back(item); }

и так далее...

READ ALSO
Непрозрачная графика на прозрачном Jframe

Непрозрачная графика на прозрачном Jframe

возникла необходимость отображения непрозрачной графики на прозрачном Jframe c использованием BufferStrategy (если это вообще возможно)

171
Jsoup удаление аттрибута

Jsoup удаление аттрибута

Я хочу удалить из html-документа из тега embed аттрибут style:

180
Wildfly 10, деплой war файла

Wildfly 10, деплой war файла

Пытаюсь задеплоить на Wildfly сервер проектПри деплоинге war файла происходит ошибка

219