C++怎么显式调用调用重载后的运算符函数
发布网友
发布时间:2022-05-16 23:20
我来回答
共3个回答
热心网友
时间:2023-09-14 18:44
显示调用分为三种情况:
1 调用全局函数
2 调用本类自己的函数
3 调用父类的函数
对于全局的运算符重载
可以使用下面的方式调用
::operator运算符(操作数...);
对于本类的运算符可以使用下面的方式调用
classA::func(){
operator运算符(操作数...);
}
对于本类需要调用父类的运算符,可以使用下面的方式调用
classA::func(){
classFather::operator运算符(操作数...);
}
热心网友
时间:2023-09-14 18:44
#include "stdafx.h"
#include<iostream>
//#pragma warning(disable:4996)
using namespace std;
struct sa
{
int i;
};
sa operator +(sa v1, sa v2)
{
sa t;
t.i = v1.i + v2.i;
return t;
}
//这是VS 主函数声明,如果有问题,将上句改成:
//int main()
int _tmain(int argc, _TCHAR* argv[])
{
sa a, b, c;
b.i = 1; c.i = 2;
a = b + c;//这就是显示调用函数:sa operator +(sa v1, sa v2)
cout <<a.i << endl;
//如果下句出现问题,请添加头文件引用:#include<stdlib.h>
system("pause"); //防止窗口一闪而退
return 0;
}
热心网友
时间:2023-09-14 18:45
比如+:
c3=c1.operator +(c2); //等价于 c3=c1+c2;
其中 c1,c2,c3均为对象