Klasa A posiada wektor i zapełnia go dużą ilością danych, a klasa B ma bardzo dużo instancji i każda z instancja korzysta z wektora z klasy A.
Chciałbym żeby to działało mniej więcej tak:
class A
{
private:
std::vector<sf::Texture> tab;
public:
void zapelnijTab()
{
tab.resize(1000);
for (int i = 0; i < 1000; i++)
tab[i].loadFromFile("jakastextura");
}
};
class B
{
public:
B() {}
sf::Sprite sprite;
void ustawTexture(int x)
{
sprite.setTexture(tab[x]);
}
sf::Sprite getSprite()
{
return sprite;
}
}
B bety[100000];
sf::RenderWindow window;
while (true)
{
for (int i = 0; i < 100000; ++i)
{
ustawTexture(losowaTextura);
window.draw(bety[i]->getSprite());
}
}
Jak to dobrze zaimplementować?