C ++问题:使用派生类进行类升级
|
我有一个从Float32_base派生的Float32类
类Float32_base {
上市:
//构造函数
Float32_base(float x):value(x){};
Float32_base(void):value(0){};
运算符float32(void){返回值;};
Float32_base运算子=(float x){value = x;返回* this;};
Float32_base运算符+(float x)const {返回值+ x;};
受保护的:
浮动价值;
}
class Float32:公共Float32_base {
上市:
浮动Tad(){
返回值+ .01;
}
}
int main(){
Float32 x,y,z;
x = 1; y = 2;
//不会编译!
z =(x + y).Tad();
//完成
z =((Float32)(x + y))。Tad();
}
问题是+运算符返回Float32_base,而Tad()不在该类中。但是\'x \'和\'y \'是Float32 \。
有没有一种方法可以让我在第一行中获得代码进行编译而不必像在下一行中那样诉诸类型转换?
没有找到相关结果
已邀请:
3 个回复
购藏盗码韦
版萍层分
布埃郝卞簿
类。 或者将所有内容放在一个类中(可能是最好的),将一些特定于平台的操作委派给特定于平台的功能。 干杯,……