使用Operator Overloading (运算符重载) 功能在C++中比较对象数组。若两个对象数组的每个元素在类型和数值上均相等,则认为两个对象数组相等。
下面是一个示例程序,说明如何重载比较操作符(==,!=)来比较两个对象数组的元素。在此例中的class Object是一个简单的类,代表一个对象。比较操作符的意义可以由程序员根据自己的需要来定义。
#include
using namespace std;
class Object{
public:
int value;
Object(){
value = 0;
};
bool operator==(const Object &o) const{
return value == o.value;
}
bool operator!=(const Object &o) const{
return !(*this == o);
}
};
int main() {
// Creating object arrays
Object arr[3], arr1[3], arr2[3];
// Filling arrays with values
for(int i=0;i<3;i++){
arr[i].value = i+1;
arr1[i].value = i+1;
arr2[i].value = i+2;
}
// Comparing arrays using == operator
if(arr == arr1){
cout<<"arr is equal to arr1"<