n*****u 发帖数: 198 | 1 class CBASE{
protected:
int a;
public:
int b;
xxxxx
};
CDERIVED1, CDERIVED2都从CBASE继承过来
有一个function希望对所有的CBASE的b操作,
void function( CBASE* p , int size){
for(int k=0; k
p[k].b = xxxxxx;
}
}
main()
{
CBASE *p0 = new CBASE[size0];
CBASE *p1 = new CDERIVED1[size1];
CBASE *p2 = new CDERIVED2[size2];
function ( p0,size0);
function ( p1,size1);
function (p2,size2);
只有第一个call是正确的,后面两个因为derived class又定义了其他成员,用CBASE*
的pointer好像会出错。。。有什么办法可以让fu |
|