版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010870167/article/details/81990382
C++中提供了运算符重载机制(operator overload 简称:Op).它可以为自定义数据类型重载运算符.实现构造数据类型也可以具有像基本数据类型一样的运算特征(C中没有改机制).
示例:
using namespace std;
struct Student{
int age;
string name;
};
bool operator ==(Student stu1,Student stu2){
if(stu1.age == stu2.age && stu1.name == stu2.name)
return true;
else
return false;
};
int main(){
Student stu1 = {12,"C++ Op"};
Student stu2 = {14,"C no Op"}
// if(operator ==(stu1,stu2))
// return true;
// else
// return false;
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
// 等同于
// if (stu1 == stu2)
// return true;
// else
// return false;
cout << "stu1 compare stu2" << operator ==(stu1,stu2) << endl;
return 0;
}
使用运算符重载在一些结构体重复使用运算符的地方省却很多时间,同时也可以优化代码.