类A,B,C均 继承于CObject
声明一个CObjectArry变量myArray
myArray.Add(A对象)
myArray.Add(B对象)
myArray.Add(C对象)
可以这样吗?如果可以不在派生类中设置表明对象的标志
用myArray.GetAt( index )得到的对象怎么知道是A,B 还是C的,CObjectArry怎样组织内存的呢??
声明一个CObjectArry变量myArray
myArray.Add(A对象)
myArray.Add(B对象)
myArray.Add(C对象)
可以这样吗?如果可以不在派生类中设置表明对象的标志
用myArray.GetAt( index )得到的对象怎么知道是A,B 还是C的,CObjectArry怎样组织内存的呢??
A *a = new A;
B *b = new B;
C *c = new C;
myArray.Add(a);
myArray.Add(b);
myArray.Add(c);
//可以通过判断IsKindOf的返回值,判断是那个类:
myArray.GetAt(index)->IsKindOf(RUNTIME_CLASS(A))
myArray.GetAt(index)->IsKindOf(RUNTIME_CLASS(B))
myArray.GetAt(index)->IsKindOf(RUNTIME_CLASS(C))