使用“-”运算符将两个数字相加吗?
运算符重载是C++中的重要概念。它是一种多态性,其中运算符被重载以赋予其用户定义的含义。重载运算符用于对用户定义的数据类型执行操作。例如,“+”运算符可以重载以对各种数据类型执行加法运算,例如Integer,String(concatenation)等。
输入项
10 20 20 30
输出结果
30 50
说明
通过运算符重载使用“-”运算符执行两个数字的加法运算。二进制运算符将需要一个对象作为参数,以便它们可以执行该操作。如果我们在这里使用Friend函数,那么它将需要两个参数。
正在调用该运算符:ob1-ob2。运算符之前的对象将调用函数,运算符之后的对象将作为参数传递给函数。因此,在这种情况下,ob1调用对象,而ob2作为参数传递给函数。
我们传递10、20作为ob1的x和y的值,传递20、30作为ob2的x和y的值。
示例
#include <iostream> using namespace std; class sum { public: int x, y, z; void getdata(int a, int b) { x=a; y=b; } void display() { cout<<"\nSum of X:"<<x; cout<<"\nSum of Y:"<<y; } void operator-(sum &); }; void sum::operator-(sum &ob) { x=x+ob.x; y=y+ob.y; display(); } int main() { sum ob1, ob2; ob1.getdata(10,20); ob2.getdata(20,30); ob1-ob2; }