*/
vector<_Gene> genes;
+ template<typename> friend class Chromosome;
public:
/**
* Default constructor
/** Copy constructor */
Chromosome(const Chromosome& chromosome)
- : genes(chromosome.get()) {
+ : genes(chromosome.genes) {
}
/**
* @return Chromosome instance containing copied Genes
*/
Chromosome& operator=(const Chromosome& chromosome) {
- this->genes = chromosome.get();
+ this->genes = chromosome.genes;
return *this;
}
/**
- * Allows read-only access to Chromosome Genes
+ * Returns number of Genes in current Chromosome
+ *
+ * @return number of Genes in current Chromosome
+ */
+ unsigned int size() const {
+ return this->genes.size();
+ }
+
+ /**
+ * Returns i-th Gene in the current Chromosome
+ *
+ * @return i-th Gene in the current Chromosome
*/
- vector<_Gene> get() const {
- return this->genes;
+ _Gene& operator[](unsigned int i) {
+ return this->genes[i];
}
};
}