Add copy constructors. Make example working.
[genetic.git] / src / chromosome.h
index b7e17df852ff489673969cb2736d02ef747951a3..7582af05a12146f5f243472b00f15760fa102903 100644 (file)
@@ -8,17 +8,26 @@
 using namespace std;
 
 namespace genetic {
-    template < typename _Gene >
+    template < typename _Chromosome >
     class Chromosome {
     protected:
-        vector<_Gene> genes;
+        vector<_Chromosome> genes;
 
     public:
-        Chromosome(vector<_Gene> genes) {
+        Chromosome() {}
+
+        Chromosome(vector<_Chromosome> genes) {
             this->genes = genes;
         }
 
-        vector<_Gene> get() {
+        /** Copy constructor */
+        Chromosome(const Chromosome& chromosome) : genes(chromosome.get()) {}
+
+        Chromosome& operator=(const Chromosome&){
+            return *this;
+        }
+
+        vector<_Chromosome> get() {
             return this->genes;
         }
     };