在OpenFOAM中如何解决既使用模板又要调用子类函数的方法

一般如果要在父类中调用子类的函数,可以在父类中先申明此函数是虚函数,但由于模板与虚函数不能共存,那如何用模板的方法达到同样的功效呢。
首先要设立一个模板参数,让它代表任意子类,再使用类型转换,在调用函数时把父类转换为子类。
举例:
#include
using namespace std;


template
class a
{

public:

void print(int a){cout<<"This is a "<void right1(){int c=0;ff& p = static_cast(*this);p.print(c);}

};
class b:public a
{
public :
void print(int a){cout<<"This is b "<void right(){right1();}
};

int main()
{

b bt;
bt.right();
}

你可能感兴趣的:(OpenFOAM,知识,常用技术积累,class,c)