class TCA
{
public:
virtual void set(int n ){}
};
class TCB:publc TCA
{
};
int main( )
{
TCA *pcla;
pcla = new TCB[10];
for( int i(0); i < 10; ++i )
pcla.set(1);
}
{
public:
virtual void set(int n ){}
};
class TCB:publc TCA
{
};
int main( )
{
TCA *pcla;
pcla = new TCB[10];
for( int i(0); i < 10; ++i )
pcla.set(1);
}
//! 这段代码是错误的。必须将 pcla申明为 TCB,否则只能访问第一个对象,即pcla[0]。
原因:C++不支持异构指针对象。
//! 同时在当初始对象数组时,必须使用无参数或者全是默认参数的构造函数。