klasa w C++ Builder

Odpowiedz Nowy wątek
2015-03-20 13:17
0

Mam dwa pytania do poniższej klasy utworzonej w C++ Builder. Moim celem jest przetrzymywanie zdjęć w klasie. Czy ta klasa jest prawidłowo napisana dla obrazków o rozszerzeniu bmp? Jak się odwołać do obiektu takiej klasy? Bardzo proszę o pomoc!

class Images
{
TImage *images;
public:
Images()
{
images=new TImage(Form1)
images->Parent=Form1;
images->Name="z1aa";
images->Picture->LoadFromFile("images/p1a");
}
};

Pozostało 580 znaków

2015-03-20 13:22
1

Nie, Skąd klasa ma wiedzieć co to jest Form1? TImage *images; definiuje wskaźnij na jeden obiekt. Rozumiem ze każdy obiekt tej klasy ma mieć taki sam obrazek tak? (bo wczytujesz go w konstruktorze i nie jest on zmienialny? TImage to jest komponent wizualny. Zrób sobie listę obiektów typu Bitmap, zaalokuj są, potem tworzysz bitmapy dynamicznie przekazując w metodzie adres obrazka. Nie zapomnij o destuktorze i posprzątaniu po sobie.

Pozostało 580 znaków

2015-03-20 13:56
0

Czyli tak miałoby to wyglądać?

class Images
{
Graphics::TBitmap *z1;
Graphics::TBitmap *p1a;
Graphics::TBitmap *p;
public:
Images()
{
z1=new Graphics::TBitmap();
p1a=new Graphics::TBitmap();
p=new Graphics::TBitmap();

}
~Images()
{
  z1->Free();
  p1a->Free();
  p->Free();
};
edytowany 1x, ostatnio: defto94, 2015-03-20 14:00

Pozostało 580 znaków

2015-03-20 18:26

Czyli tak miałoby to wyglądać?

Oczywiście nie.
Najpierw utwórz klasę przechowującą jedno zdjęcie (wbrew pozorom to nie jest bezsensowne). Następnie klasę gromadzącą obiekty tej klasy. Tak jak napisał misiakufal. Jednak TImage - w przeciwieństwie do TBitmab jest wizualny, a to może się przydać planując ich prezentację.

Pozostało 580 znaków

2015-03-20 18:45
0

W jaki sposób utworzyć klasę gromadzącą obiekty klasy?

Pozostało 580 znaków

2015-03-20 19:10
0

Umieść w sekcji prywatnej kontener przechowujący obiekty twojej klasy.
Stwórz interfejs udostępniający te obiekty (minimum) i ewentualnie rozszerz go o potrzebną według Ciebie funkcjonalność.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0