由买买提看人间百态

topics

全部话题 - 话题: cderived1
(共0页)
n*****u
发帖数: 198
1
来自主题: Programming版 - 问一个问题。。
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
(共0页)