Третья группа — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Новая страница: «=Общее= =Задания= ==Компиляция== ==Сортировка слиянием== ==Выделение памяти== ==Расширяющийся…»)
 
(Streams)
Строка 20: Строка 20:
 
Наследуясь от класса OutputStream реализовать Иерархию классов FileOutputStream, StringOutputStream, ConsoleOutputStream имеющие соответствующую функциональность.
 
Наследуясь от класса OutputStream реализовать Иерархию классов FileOutputStream, StringOutputStream, ConsoleOutputStream имеющие соответствующую функциональность.
  
 +
<pre>
 
struct OutputStream
 
struct OutputStream
 
{
 
{
Строка 42: Строка 43:
 
     virtual ~OutputStream() {}
 
     virtual ~OutputStream() {}
 
};
 
};
 +
</pre>

Версия 15:06, 16 ноября 2012

Общее

Задания

Компиляция

Сортировка слиянием

Выделение памяти

Расширяющийся массив

Обертка над FILE

String

Smart FILE

Streams

Наследуясь от класса OutputStream реализовать Иерархию классов FileOutputStream, StringOutputStream, ConsoleOutputStream имеющие соответствующую функциональность.

struct OutputStream
{
    virtual void print( std::string const& s ) = 0;

    virtual void print( int t ) 
    {
        char buff[16] = {};
        sprintf(buff, "%d", t);
        print(buff);
    }

    virtual void print( double t ) 
    {
        char buff[16] = {};
        sprintf(buff, "%f", t);
        print(buff);
    }

    virtual void flush() = 0;

    virtual ~OutputStream() {}
};