C++语言。已知SMP是已编写的类,并且拥有如下函数成员diff,访问权限为public,返回值表示本对象与形参对象的差值:
double SMP::diff(SMP &t){……}
请编写SMP的派生类MYSMP,新增一个double型数据成员,要求仍然用diff函数表示两个对象的差值,计算规则是求MYSMP类新增数据成员的差值,并与SMP类diff函数计算结果相比较,以较大者作为返回值。除了上述要求外,不要编写其它内容。
C++语言。已知SMP是已编写的类,并且拥有如下函数成员diff,访问权限为public,返回值表示本对象与形参对象的差值:
double SMP::diff(SMP &t){……}
请编写SMP的派生类MYSMP,新增一个double型数据成员,要求仍然用diff函数表示两个对象的差值,计算规则是求MYSMP类新增数据成员的差值,并与SMP类diff函数计算结果相比较,以较大者作为返回值。除了上述要求外,不要编写其它内容。
class MYSMP : public SMP
{
private:
double member1;
public:
double diff(SMP &t){
double diff1 = member1 - ((MYSMP)t).member1;
double diff2 = SMP::diff(t);
if (diff1 > diff2) return diff1; else return diff2;
}
};