@
szulak ;
W klasie jako prywatne pola:
Kod :
std::unique_ptr<Fl_Window> authWind_;
std::unique_ptr<Fl_Widget> details_;
Zas uzylem w konstruktorze ich w ten sposob:
Kod :
authWind_ = std::unique_ptr<Fl_Window>(new Fl_Window(450, 390, "Zaloguj sie"));
details_ = std::unique_ptr<Fl_Widget>(new DrawingDetails(10, 10, 440, 440));
No i dla wyjasnienia, dlaczego ten details_ tak troche dziwnie wyglada, to pokaze jak ta klasa wyglada:
Kod :
class DrawingDetails : public Fl_Widget
{
void draw(void);
//Fl_BMP_Image *logo;//w przypadku dodania logo, usunac boxy z konstruktorow registerWind oraz AuthWindow
public:
DrawingDetails(int X, int Y, int W, int H) : Fl_Widget(X, Y, W, H){};/* {
bitmap = new Fl_BMP_Image("oko.bmp");
}*/
~DrawingDetails(){};
// delete logo; }
};
Część jest zakomentowana, bo prawdopodobnie w przyszlosci dojda jakies rysunki, a aktualnie to rysuje jedna czarna kreske xd
Ogolem to jest to samo, tylko inaczej musialem uzyc tego w konstruktorze, bo przy Twoim sposobie jakies bledy mi wyskakiwaly (nie pamietam juz jakie).
#edit
szulak napisał
Kod :
A::A() :
okienko_(new Fl_Window(500, 500, "Nazwa")),
przycisk_(new Fl_Button(100, 100, 50, 50, "zamknij"))
{
}
Kod :
authWind_ = std::unique_ptr<Fl_Window>(new Fl_Window(450, 390, "Zaloguj sie"));
details_ = std::unique_ptr<Fl_Widget>(new DrawingDetails(10, 10, 440, 440));
@
szulak ; o tym miejscu mowilem. Teraz tak mysle, ze wlasnie o to chodzi, ze ja to robilem w ciele konstruktora, a nie jako lista inicjalizacyjna i dlatego mi wyrzucalo bledy. Nie moge teraz tego sprawdzic dla pewnosci, bo musialbym odpalic 7mke na wirtualnej maszynie (projekt jest robiony w visualu 13'tce, a moja vista nie spelnia wymagan -.-') marnujac przy tym ze 30 minut i przetestowac. Ale na 99% masz racje i wtedy by dzialalo to dobrze, zatem zwracam honor - moj blad.
Zakładki