让我们从一些代码开始。
class intClass {
public:
virtual ~intClass() = default;
virtual int sum(int a, int b) const = 0;
};
class doubleClass {
public:
virtual ~doubleClass() = default;
virtual double sum(double a, double b) const = 0;
};
template<typename T, typename C>
class sumClass : public C {
public:
T sum(T a, T b) const override {
return a + b;
}
};
int main() {
sumClass<int, intClass> intSum;
sumClass<double, doubleClass> doubleSum;
return 0;
}
假设
intClass
和
doubleClass
是照原样给出的,不能更改。
我想删除模板参数
T
从…起
sumClass
.
有可能推断吗
T
基于的签名
sum
基类中的函数?
我们最多可以使用C++20。
总的来说,我想要我的
main
函数的外观如下:
int main() {
sumClass<intClass> intSum;
sumClass<doubleClass> doubleSum;
return 0;
}