Duvida: Sintaxe no Construtor

Delphi

31/03/2005

pessoal, to começando a estudar OO e C++ não entendi essa sintaxe. Logo após declarar aos parametros da classe, ja tem uma instrução seguida de dois pontos. o que significa isso?


TextFrame::TextFrame(const wxChar *title, int xpos, int ypos, int width, int height)
: wxFrame((wxFrame *) NULL, -1, title, wxPoint(xpos, ypos), wxSize(width, height))
{
}



vlws!!!


Marvinla

Marvinla

Curtidas 0

Respostas

Massuda

Massuda

31/03/2005

pessoal, to começando a estudar OO e C++ não entendi essa sintaxe. Logo após declarar aos parametros da classe, ja tem uma instrução seguida de dois pontos. o que significa isso?
No seu exemplo, TextFrame deve ser uma classe derivada de wxFrame.

O que está após os dois pontos é a chamada ao construtor da classe wxFrame, classe pai/base de TextFrame.


GOSTEI 0
Marvinla

Marvinla

31/03/2005

humm, entendi.. quer dizer q já posso chamar o construtuor ali direto...
qual a vantagem em faazer assim, ou chamar dentro das chaves?

vlws


GOSTEI 0
Massuda

Massuda

31/03/2005

qual a vantagem em faazer assim, ou chamar dentro das chaves?
Já tem algum tempo que não trabalho com C++, mas pelo que me lembro, você não pode ´chamar dentro das chaves´... isso o Delphi permite, mas C++ não. C++ sempre chama o construtor da classe base [b:7693d46d11]antes[/b:7693d46d11] do construtor da classe derivada. No caso do destrutor, a ordem é inversa.

A sintaxe usando o : pemite você passar parâmetros diferentes para o construtor da classe base.


GOSTEI 0
POSTAR