Duvida: Sintaxe no Construtor
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?
vlws!!!
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
Curtidas 0
Respostas
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
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
qual a vantagem em faazer assim, ou chamar dentro das chaves?
vlws
GOSTEI 0
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