Problem z tablica (klasa vektor)

0

Część mojej klasy wygląda tak:

class chromosome {
[......]
public:
    std::vector <int> bin_chromosome; //our chromosome
[......]
}

Funkcja używająca moją tablicę to:

void chromosome::convert_dec_to_bin()
{
    int iterator = length_of_chromosome - 1;
    int temp_chrom = dec_chromosome;
    while(iterator >= 0)
    {
        bin_chromosome[iterator] = temp_chrom % 2;
        temp_chrom /= 2;
        if (temp_chrom == 1)
            bin_chromosome[iterator] = 1;
    }
}

Oraz w mainie

[......]
for (int i = 0; i < temp_len_chrom; i++)
        cout << x.bin_chromosome[i];
[.......]

Program się kompiluje, ale w miejscu tego for'a mam: SEGMENTATION FAIL.
Gdzie popełniam błąd?
Być może nie mogę użyć klasy wektor we własnej klasie.
Po prostu potrzebuje tablicy do której będę zapisywał dane jak w podanej f-cji. A wielkość tablicy ustalana musi być w f-cji klasy wywołaniej przed podaną.
Z góry dzięki za pomoc

0
  1. Nie myl tablicy z wektorem.
  2. Nie myl iteratorow z indeksami.
  3. klasa wektor posiada metode size wiec powinienes zrobic tak:
int iterator = bin_chromosome.size()-1;
  1. Segmentation fault bo odwolujesz sie do nieistniejacego elementu wektora.
  2. Nie zachowujesz hermetyzacji, dane sa zawsze prywatne!
  3. Mozesz sobie przeciazyc operator[] dla swojej klasy i bedziesz sobie jej uzywal jak tablicy
0
6. Mozesz sobie przeciazyc operator[] dla swojej klasy i bedziesz sobie jej uzywal jak tablicy

Z przykrością muszę powiedzieć, że nie bardzo wiem jak to zrobić ;/
Rzadko przydawało mi się przeciążanie zmiennych. A tablicy wcale.

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