问题描述
- 关于c++的类的一点问题
-
忽然想到一个问题,加入定义一个类,有 若干个数据成员int a,int b,int c......定义一个该类的对象数组,根据a,b等的值对这些对象进行排序。因为对不同数据成员进行排序的东西不同,那代码岂不是要写若干个除了a,b,c...之外都相同的?应该怎么做到写一段代码实现不同a,b,c的排序?应该用函数模板吗?还是怎样?本人很渣,求各位指教
解决方案
用函数指针,把比较的代码留给调用者去实现。
参考qsort这个系统函数的实现。
解决方案二:
std sort等有提供一个参数,让你作为比较函数传递in进去,这样你就可以根据你自己的设定实现不同的比较方法来决定排序。
你自己的方法同样可以参考这个,提供一个参数让调用者传递比较函数。
解决方案三:
用成员指针排序吧
解决方案四:
看完再做项目或提问吧.
时间: 2024-11-03 22:21:00