一个不解的参数传递问题?

yongClb yongClb 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

在我的程序中,有一个类xx(无继承类),父类yy和子类zz,在类xx.cpp中的函数调用一个zz中的函数(参数类型说明为父类yy)。测试结果发现,子类zz中的参数值在调用前类型是zz*,并且测试是对的,但是在该函数体内测试时,发现传入的参数值有部分丢失的现象,不知大家碰到过这样的情形没有,可是我实在测试好几遍了,请各位高手指点一下,不尽感谢。
部分代码如下所示。
class xx
 {
void units(xx*, zz *t);
}

// xx.cpp
void xx::units(xx *s1, zz *t)
{
zz *ki; ki=new zz();
... //此处测试的参数值t是对的
ki->compare(t);
...
}

class yy
{
...
}
class zz: public yy
{
int compare(yy *ss);
}
//zz.cpp

int zz::compare(yy *ss)
{
zz *curs=(zz*)ss;
... //其中测试发现所赋值curs不对
}

不解??
 
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
yongClb
VC/MFC 16,550 成员 421,606 内容