求助,指向成员函数的指针
简单举例1、有一个class Point,Point有成员函数get_x()、get_y()、get_z()、get_velocity()、get_color()...等;
2、有多个vector A、B、C...等, A、B、C等的size()不一定一样;
3、需要向文件中输出vector A、B、C等的成员函数的值,形式为抬头(参数名称、单位)+数值,如
“X坐标 mm 2.3 4.6 4.3 ...”。
有一种繁琐的解决方法,对每个成员函数编写一个for循环,示例如下
程序代码:
ostringstream output_file<<"X坐标\tmm"; for(size_t i=0;i<A.size();++i){ output_file<<"\t"<<A[i].get_x(); } output_file<<endl;
遇到的问题是,Point下有几十个成员函数,如果每一个都写这样一段话,代码数量很长,也不好维护,因此想找一总简洁的输出方法,例如有这样一个函数
ostringstream output(vecotr<Point> A,string head,func(get_x));
其中head为抬头,func函数实现输出A.get_x(),用上述一行代码实现之前多行代码的功能,需要输出B的y坐标时也只需写下面的一行代码
ostringstream output(vecotr<Point> B,string head,func(get_y));
请教各位大拿,这个func()函数如何实现?
[此贴子已经被作者于2015-10-26 20:31编辑过]