cat c=new cat; // this won't work, you have to specify size of the instantiated array, e.g. new cat;
my=my; //can't assign a 1-D array to a 2-D array.
my=my; //can't assign a nonarray object to a 2-D array reference.
my=my; //can't assign a nonarray object to a 1-D array reference.
my=c; //can't assign an array object to a nonarray reference my can only refer to a cat object[/QB]
What specifically you don't understand? There is one simple rule here: n-dimensional array reference of object x can only refer to instance of exactly n-dimensional array of object x (or subclass of x, since arrays are polymorphic) - period. In your case, cat instance cannot be assigned to cat reference and vice versa, and so on...