[C++] Jednorazowo tworzona zmienna dla wszystkich obiektów danej klasy.
Ostatnio zmodyfikowano 2010-11-30 20:02
akwes Temat założony przez niniejszego użytkownika |
[C++] Jednorazowo tworzona zmienna dla wszystkich obiektów danej klasy. » 2010-11-29 01:03:56 Witam, będę tworzył niedługo kilka klas w allegro, których projekty aktualnie mają w klasie w składnikach prywatnych swoją texture. Jednak tworząc 20 takich obiektów niepotrzebnie tworzę 20 takich samych textur(textura ładowana w konstruktorze), a wystarczyła by jedna, tak jak się to robi z metodami klasy, funkcje klasy są w pamięci dla wszystkich obiektów klasy tylko raz. Dałoby się coś takiego zrobić dla pola klasy? Wiem że można przesyłać do klasy wskaźnik na BITMAPE przez konstruktor i klasa będzie mieć tylko adres bitmapy w każdym obieckie. Jednak lubię różnorodność i ciekaw jestem czy da się to zrealizować w inny, wbudowany, sposób? |
|
DejaVu |
» 2010-11-29 02:22:05 Masz jeszcze dziedziczenie, jednak w przypadku który opisałeś nie ma to uzasadnionego zastosowania to raz, a dwa tylko sobie nim krzywdę zrobisz w opisanym przypadku. Jeżeli chcesz przypisać teksturę do wielu obiektów to równie dobrze możesz mieć CTextureMgr, który będzie ładował tekstury i nadawał im unikatowe numerki. Obiekty będą więc trzymały informację, która to tekstura w CTextureMgr, natomiast jej dane będzie można uzyskać na podstawie tego numerku. Niemniej jednak rozwiązań możliwych jest wiele i zależą od wizji osoby, która dany system projektuje. |
|
madmike44 |
» 2010-11-30 20:02:12 Poczytaj o statycznych danych składowych klasy :) |
|
« 1 » |