C++ группа 2 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
Строка 39: Строка 39:
 
     bool empty();
 
     bool empty();
 
     size_t size();
 
     size_t size();
 +
};
 +
 +
== 19.02.2016 ==
 +
 +
Реализовать вектор со строгой гарантией исключений для push_back
 +
 +
template <class T>
 +
class Vector
 +
{
 +
public:
 +
  operator[]()
 +
  push_back()
 +
  pop_back()
 +
  size()
 +
  reserve()
 +
  resize()
 
  };
 
  };

Версия 03:03, 19 февраля 2016

Опейкин Александр

+7-931-278-21-60

alexander.opeykin@gmail.com

Группа

5.12.2015

Данные Файл:Schemed read data.gz Файл:New data.tgz

12.02.2016

Реализовать 3 класса

1. Массив фиксированного(на этапе компиляции) размера

template <...>
class Array 
{
public:
  Array() {}
  T &      operator[]( size_t i );
  T const& operator[]( size_t i ) const;
  size_t  size() const;
};

2. Специализацию массива Array для bool. Один bool должен занимать один бит.

3. Стек. Должен уметь работать поверх вашего Array

template <...>
class Stack 
{
public: 
   T const& top() const;
   T &      top();
   void push(T const& t);
   void pop();    
   bool empty();
   size_t size();
};

19.02.2016

Реализовать вектор со строгой гарантией исключений для push_back

template <class T>
class Vector
{
public:
  operator[]()
  push_back()
  pop_back()
  size()
  reserve()
  resize()
};