数组(一)

指向数组的指针和指针数组

考虑下面三个声明的含义:

Cat FamilyOne[500];
Cat
* FamilyTow[500];
Cat
* FamilyThree = new Cat[500];

指针和数组名

下例演示在自由存储区中声明和使用数组

#include <iostream>
using namespace std;

class CAT
{
public:
    CAT() 
{ itsAge = 1; itsWeight = 5; }
    
~CAT();
    
int GetAge() const return itsAge; }
    
void SetAge(int age) { itsAge = age; }
    
int GetWeight() const return itsWeight; }
    
private:
    
int itsAge;
    
int itsWeight;
}
;

CAT::
~CAT() {
    
// cout << "Destructor called! \n";
}


int main(int argc, char *argv[])
{
    CAT
* Family = new CAT[500];
    
int i;
    CAT
* pCat;
    
    
for (i = 0; i < 500; i++{
        pCat 
= new CAT;
        pCat
->SetAge(2 * i + 1);
        Family[i] 
= *pCat;
        delete pCat;
    }


    
for (i = 0; i < 500; i++{
        cout 
<< "Cat #" << i + 1 << " : " << Family[i].GetAge() << endl;
    }

    delete [] Family;
     
    
return 0;
}

posted on 2005-04-26 23:44  NeilChen  阅读(505)  评论(2编辑  收藏  举报

导航