在C++中,比較類(compare class)是一種用于比較對象的類。比較類通常用于排序算法或數據結構中,以確定對象之間的相對順序。
比較類是通過重載比較操作符(如<、>、<=、>=、==、!=)來實現的。通過重載這些操作符,可以定義對象之間的比較規則。
例如,假設有一個名為Person的類,我們可以創建一個比較類來比較Person對象的年齡大小:
class Person {
private:
int age;
public:
Person(int _age) : age(_age) {}
friend bool operator<(const Person& p1, const Person& p2) {
return p1.age < p2.age;
}
};
int main() {
Person p1(25);
Person p2(30);
if (p1 < p2) {
cout << "p1 is younger than p2" << endl;
} else {
cout << "p1 is older than or equal to p2" << endl;
}
return 0;
}
在上面的例子中,我們定義了一個重載的<操作符函數,它比較兩個Person對象的年齡。然后我們在main函數中使用這個比較類來比較兩個Person對象的年齡大小。
通過比較類,我們可以根據自己的需求定義對象之間的比較規則,從而在排序算法或數據結構中使用它們。