首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个简单vector有关问题

2012-08-13 
一个简单vector问题求助输出老是不对,但是不知道错在那里,请各位指点:C/C++ code#main.cpp#include cstdl

一个简单vector问题求助
输出老是不对,但是不知道错在那里,请各位指点:

C/C++ code
#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;}


C/C++ code
#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;}



C/C++ code
#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[0]: age = 7; allele =0
animal[1]: age = 8; allele =1
animal[2]: age = 0; allele =1
animal[3]: age = 3; allele =0
animal[4]: age = 9; allele =0
animal[5]: age = 5; allele =0
animal[6]: age = 10; allele =1
animal[7]: age = 1; allele =1
animal[8]: age = 9; allele =0
animal[9]: age = 9; allele =1

animal[0]: age = 4001968; allele =1325412398
animal[1]: age = 2003788910; allele =1414422387
animal[2]: age = 977485128; allele =1736008540
animal[3]: age = 997091682; allele =1348221507
animal[4]: age = 1702127987; allele =1852400220
animal[5]: age = 1819436368; allele =1852400220
animal[6]: age = 1735357008; allele =544039282
animal[7]: age = 1447976051; allele =1095320649
animal[8]: age = 1836008224; allele =1769239920
animal[9]: age = 1802268527; allele =1130132585


显然有问题

[解决办法]
问题在这。
C/C++ code
Animal::Animal(const Animal& orig) {    age = orig.age;    allele = orig.allele;} 

热点排行