, . : , . ֳ , .
class Vector{
int *V;
int SZ;
public:
Vector(int);
~Vector();
int SIZE(){return SZ;} // 0 SIZE-1
int Set_SIZE(int);
int &operator[](int); //
int &elem(int i){return V[i]} //
}
Vector::Vector(int S){
if (S=<0) error(bad vector size);
else SZ=S;
V = new int[SZ];
}
void main(){
Vector V1(100);
Vector V2(n*2-4);
}
int &Vector::operator[](int i){
if ((i<0)||(size<=i))error(vector index out of range);
return V[i];}
Vector::~Vector(){
delete V;}
, , . new. . , , . , . Vector ᒺ 䳿. ϳ , . . , .
class Vec:public Vector{
int low, high;
public: Vec(int, int)
int &elem(int);
int &operator[](int);
}
int &Vec::elem(int i){
return Vector::elem(int i);
{
Vec Vector Vec , Vector. elem Vec elem Vector.
ᒺ
ᒺ, . . ᒺ , . ᒺ, : [], , . ', .
Cat Litter[5];
int i;
for (i = 0; i<5; i++)
Litter[i].SetAge(2*i+1);
ᒺ Cat 5 .
' ' , . ' '
|
|
Cat *Family[500];
int i;
Cat *pCat;
for (i=0; i<500; i++){
pCat = new Cat;
pCat->SetAge(2*i+1);
Family[i]=pCat;
}
Family 500 ᒺ Cat. 500 ᒺ, Family. .
'.
³ new, ( ), . Family ᒺ 500 . .
Cat *Family = new Cat[500];
Cat *pCat = Family;
pCat->SetAge(10);
pCat++;
SetAge(20);
³ 10 ᒺ, 20 ᒺ.