C++ 链表容器排序示例 - 使用自定义比较函数
#include
#include
using namespace std;
class Dog { public: Dog(string na, int age = 0) { m_name = na; m_age = age; } // bool operator >() void show() { cout << "dog " << m_name << " age = " << m_age << endl; } private: string m_name; int m_age; friend bool cmp_name(const Dog &dg1, const Dog &dg2); };
bool cmp_name(const Dog &dg1, const Dog &dg2) { return dg1.m_name < dg2.m_name; }
int main()
{
list
// 解释每一行内容
// #include // 包含链表容器的头文件
// #include
// using namespace std; // 使用标准命名空间
// class Dog // 定义了一个类Dog // { // public: // Dog(string na, int age = 0) { // 类的构造函数,初始化对象的成员变量 // m_name = na; // m_age = age; // } // void show() { // 成员函数,打印对象的信息 // cout << "dog " << m_name << " age = " << m_age << endl; // } // private: // string m_name; // 成员变量,狗的名字 // int m_age; // 成员变量,狗的年龄 // friend bool cmp_name(const Dog &dg1, const Dog &dg2); // 声明一个友元函数 // };
// bool cmp_name(const Dog &dg1, const Dog &dg2) // 定义了一个比较函数,用于排序 // { // return dg1.m_name < dg2.m_name; // }
// int main() // 主函数
// {
// list
原文地址: http://www.cveoy.top/t/topic/quu3 著作权归作者所有。请勿转载和采集!