设计问题——一个函数调用所有三个函数

Design problem- one function calls all three

本文关键字:三个 函数 函数调用 一个 问题      更新时间:2023-10-16
class Feature{};
class IFat
{
   //init feature for IFat
   vector<Feature> vf;
};
class IThin
{
   //init feature for IThin
   vector<Feature> vf;
};
class ISlim
{
    //init feature for ISlim
    vector<Feature> vf;
};
void func(IFeature_Vector)
{
     //accessing vf depending on IFeature_Vector passed in
}

我想知道是否有一个很好的整洁的方法,使一个函数可以调用每个实例,而不必为每个情况调用三次。我很抱歉地说,我知道这是一个侏罗纪的问题,但我只是想不出一个好的解决方案,而我是如此疯狂。我希望你能理解我的问题。如果你能帮忙,我很感激。

我认为你应该看看c++中的template编程。下面是一个很好的解释:http://www.cplusplus.com/doc/tutorial/templates/

可以写成

template<class T> void func(T myVector) { ... };