【发布时间】:2014-04-14 05:45:02
【问题描述】:
现在我有一个类 A,它有一个方法 f:
class A{
public:
double f(double x){return 0.0;};
};
我还有另一个 B 类和另一个方法 f:
class B{
public:
double f(double x){return 0.0;};
};
我希望我的函数 myfun 在不必重载函数的情况下接受 A 类或 B 类:
double myfun(A a){
return a.f(1.0);
}
double myfun(B b){
return b.f(1.0);
}
我不想重载函数,因为我将使用 f() 方法拥有三个或更多不同的类。有没有办法做到这一点?
【问题讨论】:
-
继承是您可以采用的另一种方式。
标签: c++ class templates overloading