一个简单vector问题求助
输出老是不对,但是不知道错在那里,请各位指点:
#main.cpp#include <cstdlib>#include<iostream>#include<vector>#include<time.h>#include "Animal.h" using namespace std;int main(int argc, char** argv) { int n = 10; srand(time(0)); vector <Animal> a; for (int i = 0; i < n; i++) { int age = (rand() % 11); int allele = (rand() % 2); Animal ani(age, allele); cout << "animal[" << i << "]: age = " << ani.age << "; allele =" << ani.allele << endl; a.push_back(ani); } cout << endl; for (vector<Animal>::size_type i = 0; i != a.size(); ++i) { cout << "animal[" << i << "]: age = " << a[i].getAge() << "; allele =" << a[i].getAllele() << endl; } return 0;}
#Animal.cpp#include "Animal.h"Animal::Animal() {}Animal::Animal(int age, int allele) { Animal::age = age; Animal::allele = allele;}Animal::Animal(const Animal& orig) {}Animal::~Animal() {}int Animal::getAge(){ return Animal::age;}int Animal::getAllele(){ return Animal::allele;}
#Animal.h#ifndef ANIMAL_H#define ANIMAL_Hclass Animal {public: Animal(); Animal(int age, int allele); Animal(const Animal& orig); virtual ~Animal(); int getAge(); int getAllele(); int age; //年龄 int allele; private:};#endif /* ANIMAL_H */
Animal::Animal(const Animal& orig) { age = orig.age; allele = orig.allele;}