Witam.
Chciałbym poprosić Was o znalezienie błędu w moim kodzie.
Kod wygląda tak:
class Obrazek
{
public:
bool ramka; //true if yes, false if no
int kolor; //1 = bialy, 2 = czarny
string img;
Obrazek(bool _ramka, int _kolor)
{
this->ramka = _ramka;
this->kolor = _kolor;
if(1 == kolor)
{
img = "bialy";
}
else if(2 == kolor)
{
img = "czarny";
}
else
{
img = "Bledna wartosc!";
}
}
private:
};
int main()
{
Obrazek* myArray[][8] =
{
{new Obrazek(false, 2), new Obrazek(false, 2), new Obrazek(false, 2), new Obrazek(false, 2),new Obrazek(false, 2), new Obrazek(false, 2), new Obrazek(false, 2), new Obrazek(false, 2)},
{new Obrazek(false, 2), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(false, 2)},
{new Obrazek(false, 2), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(false, 2)},
{new Obrazek(false, 2), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(false, 2)},
{new Obrazek(false, 2), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(true, 1), new Obrazek(false, 2)},
{new Obrazek(false, 2), new Obrazek(false, 2), new Obrazek(false, 2), new Obrazek(false, 2),new Obrazek(false, 2), new Obrazek(false, 2), new Obrazek(false, 2), new Obrazek(false, 2)}
};
for( int i = 0; i < 6; i++)
{
for( int j=0; j< 8; j++ )
{
if(myArray[i][j]->ramka = true)
cout<< 0 << "=" << myArray[i][j]->img << " ";
else
cout<< 1 << "=" << myArray[i][j]->img << " ";
}
cout<<endl;
}
system("PAUSE");
return 0;
}
Problem polega na tym, że po skompilowaniu mam taki oto wynik na konsoli:
0=czarny 0=czarny 0=czarny 0=czarny 0=czarny 0=czarny 0=czarny 0=czarny
0=czarny 0=bialy 0=bialy 0=bialy 0=bialy 0=bialy 0=bialy 0=czarny
0=czarny 0=bialy 0=bialy 0=bialy 0=bialy 0=bialy 0=bialy 0=czarny
0=czarny 0=bialy 0=bialy 0=bialy 0=bialy 0=bialy 0=bialy 0=czarny
0=czarny 0=bialy 0=bialy 0=bialy 0=bialy 0=bialy 0=bialy 0=czarny
0=czarny 0=czarny 0=czarny 0=czarny 0=czarny 0=czarny 0=czarny 0=czarny
czyli pierwszy parametr który przekazuję do konstruktora przy tworzeniu obiektów w tablicy zawsze jest ustawiony na "true", nie rozumie dlaczego :( Co ciekawe drugi parametr wyświetla się prawidłowo.
Tak więc jeśli możecie, to proszę o wytknięcie palcem błędu ;)