怎么能做到这一点?我需要继承,因为会有很多子类(它们在“打印机”函数中会有所不同),但是“creator_function”对于所有这些类都是相同的,并且子函数继承的特性比这个有问题的函数更多。
我不知道零件在??
- creator_function 的头部
- 调用传递函数
- 将函数传递给 creator_function
class Base
{
public:
void creator_function(vector< ?(int)functions_p(int)? > printers)
{
for(int i; i<printers.size(); i++)
{
?int val = printers[i](10*i);?
/* create some result here from val of all printers */
}
}
};
class Child : Base
{
public:
int printer1(int x){ return x; }
int printer2(int y){ return 2*y; }
void create_result()
{
? creator_function( {printer1, printer2} ); ?
}
};
Child c;
c->create_result();
我迷失在指向继承的成员函数的指针中。
打印机 1 和打印机 2 “不能”在 Base 中声明,因为子类中有很多不同的打印机(返回类型和参数相同),但每个子类中有不同数量的打印机和不同的名称