<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://mit.spbau.ru/sewiki/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B0_%D0%9D%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5</id>
		<title>C++ Практика Наследование - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://mit.spbau.ru/sewiki/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B0_%D0%9D%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5"/>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=C%2B%2B_%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B0_%D0%9D%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;action=history"/>
		<updated>2026-05-03T14:16:46Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=C%2B%2B_%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B0_%D0%9D%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=4586&amp;oldid=prev</id>
		<title>Alexander.Opeykin: Новая страница: «Реализовать класс FileOutputStream   class FileOutputStream  {      FileOutputStream( char* filename )           : file_(fopen(filename, &quot;w&quot;))      {…»</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=C%2B%2B_%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B0_%D0%9D%D0%B0%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=4586&amp;oldid=prev"/>
				<updated>2014-10-31T08:32:26Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «Реализовать класс FileOutputStream   class FileOutputStream  {      FileOutputStream( char* filename )           : file_(fopen(filename, &amp;quot;w&amp;quot;))      {…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Реализовать класс FileOutputStream&lt;br /&gt;
&lt;br /&gt;
 class FileOutputStream&lt;br /&gt;
 {&lt;br /&gt;
     FileOutputStream( char* filename ) &lt;br /&gt;
         : file_(fopen(filename, &amp;quot;w&amp;quot;))&lt;br /&gt;
     {}&lt;br /&gt;
 &lt;br /&gt;
    void print( int t ) &lt;br /&gt;
    void print( double t ) &lt;br /&gt;
    void print(char* name)&lt;br /&gt;
    void flush()&lt;br /&gt;
      ~FileOutputStream(  ) { fclose(file_); }&lt;br /&gt;
 protected:&lt;br /&gt;
     FileOutputStream( FILE * file )&lt;br /&gt;
         : file_(file)&lt;br /&gt;
     {}&lt;br /&gt;
 private:&lt;br /&gt;
     FileOutputStream&amp;amp; operator=(FileOutputStream const&amp;amp;);&lt;br /&gt;
     FileOutputStream(FileOutputStream const&amp;amp;);&lt;br /&gt;
 private:&lt;br /&gt;
     FILE * file_;       &lt;br /&gt;
 };&lt;br /&gt;
	&lt;br /&gt;
На основе FileOutputStream реализовать класс ConsoleOutputStream c дополнительным методом setColor(XXX)&lt;br /&gt;
&lt;br /&gt;
class ConsoleOutputStream : FileOutputStream&lt;br /&gt;
{&lt;br /&gt;
    ConsoleOutputStream() : FileOutputStream( stdout ) {}&lt;br /&gt;
    XXX setColor(XXX) 	&lt;br /&gt;
    ~ConsoleOutputStream() { }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Как работать с цветами &lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define ANSI_COLOR_RED     &amp;quot;\x1b[31m&amp;quot;&lt;br /&gt;
#define ANSI_COLOR_GREEN   &amp;quot;\x1b[32m&amp;quot;&lt;br /&gt;
#define ANSI_COLOR_YELLOW  &amp;quot;\x1b[33m&amp;quot;&lt;br /&gt;
#define ANSI_COLOR_BLUE    &amp;quot;\x1b[34m&amp;quot;&lt;br /&gt;
#define ANSI_COLOR_MAGENTA &amp;quot;\x1b[35m&amp;quot;&lt;br /&gt;
#define ANSI_COLOR_CYAN    &amp;quot;\x1b[36m&amp;quot;&lt;br /&gt;
#define ANSI_COLOR_RESET   &amp;quot;\x1b[0m&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 int main (int argc, char const *argv[]) {&lt;br /&gt;
   printf(ANSI_COLOR_RED     &amp;quot;This text is RED!&amp;quot;     ANSI_COLOR_RESET &amp;quot;\n&amp;quot;);&lt;br /&gt;
   printf(ANSI_COLOR_GREEN   &amp;quot;This text is GREEN!&amp;quot;   ANSI_COLOR_RESET &amp;quot;\n&amp;quot;);&lt;br /&gt;
   printf(ANSI_COLOR_YELLOW  &amp;quot;This text is YELLOW!&amp;quot;  ANSI_COLOR_RESET &amp;quot;\n&amp;quot;);&lt;br /&gt;
   printf(ANSI_COLOR_BLUE    &amp;quot;This text is BLUE!&amp;quot;    ANSI_COLOR_RESET &amp;quot;\n&amp;quot;);&lt;br /&gt;
   printf(ANSI_COLOR_MAGENTA &amp;quot;This text is MAGENTA!&amp;quot; ANSI_COLOR_RESET &amp;quot;\n&amp;quot;);&lt;br /&gt;
   printf(ANSI_COLOR_CYAN    &amp;quot;This text is CYAN!&amp;quot;    ANSI_COLOR_RESET &amp;quot;\n&amp;quot;);&lt;br /&gt;
   printf(ANSI_COLOR_RED);&lt;br /&gt;
   printf(&amp;quot;This text is RED!&amp;quot;);&lt;br /&gt;
   printf(ANSI_COLOR_RESET &amp;quot;\n&amp;quot;);&lt;br /&gt;
   printf(ANSI_COLOR_GREEN);&lt;br /&gt;
   printf(&amp;quot;This text is RED!&amp;quot;);&lt;br /&gt;
   printf(ANSI_COLOR_RESET &amp;quot;\n&amp;quot;);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
На основе FileOutputStream реализовать класс ErrorOutputStream, в котором методы используются для вывода сообщений об ошибках (дополнительно печатают, откуда был вызван метод)&lt;br /&gt;
&lt;br /&gt;
Нужно использовать макросы: __FUNCTION__, __FILE__, __LINE__&lt;br /&gt;
&lt;br /&gt;
 сlass ErrorOutputStream : FileOutputStream&lt;br /&gt;
 {&lt;br /&gt;
     ErrorOutputStream() : FileOutputStream( stderr ) {}&lt;br /&gt;
     void print(char* name, char* file, char* func, int line)&lt;br /&gt;
     ~ErrorOutputStream() { }&lt;br /&gt;
 };&lt;/div&gt;</summary>
		<author><name>Alexander.Opeykin</name></author>	</entry>

	</feed>