Eduardo Issao Ito wrote:
> 
> Einar Saukas wrote:
> > 
> > class MessageOutputStream extends ObjectOutputStream {
> >   private ByteArrayOutputStream _bos;
> >   MessageOutputStream() throws java.io.IOException {
> >     super(_bos = new ByteArrayOutputStream());  // ERRO!
> >   }
> > }
> > 
> >         ... de forma que o cliente possa usar essa classe fazendo
> > apenas isto:
> > 
> > MessageOutputStream var = new MessageOutputStream();
> 
> Isso funcionaria em C++?

        Acabei de testar e funciona sim! Olha s�:

class ByteArrayOutputStream {
  public:
    ByteArrayOutputStream() {}
};

class ObjectOutputStream {
  public:
    ObjectOutputStream(ByteArrayOutputStream *) {}
};

class MessageOutputStream:ObjectOutputStream {
  private:
    ByteArrayOutputStream *_bos;
  public:
    MessageOutputStream() :
               ObjectOutputStream(_bos=new ByteArrayOutputStream()) {}
};

void main() {
  MessageOutputStream *var = new MessageOutputStream();
}

        Mas concordo com o Frederico, essas simplifica��es devem ter
sido feitas para facilitar o trabalho dos compiladores Java. A
compila��o de programas em C++ � muito mais lenta e complexa, por
isso � at� compreens�vel que eles consigam lidar com constru��es
mais sofisticadas...

        (E me desculpem por mandar c�digo C++ para a lista de Java,
mas � que mesmo assim o assunto ainda � Java, ou mais precisamente,
a compara��o entre compila��o Java e C++. Acho que isso interessa a
bastante gente, por isso estou mandando essas informa��es aqui.)

        Um abra�o,

Einar Saukas
Technical Consultant
Summa Technologies, Inc.
http://www.summa-tech.com

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------

Responder a