欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

运载符重载

发布时间:2025/4/16 编程问答 33 豆豆
生活随笔 收集整理的这篇文章主要介绍了 运载符重载 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、运载符重载的调用形式

《返回形式》operator《运算符》(参数表)


有两种调用形式:

显示的调用:a.operator+(b)

隐士的调用: a+b

函数例子:

<span style="font-size:18px;">#include<iostream> using namespace std; class A { private:int n; public:A(int x = 0){n = x;}int getn(){return n;}A operator+(A a); }; A A::operator+(A a) {A temp;temp.n = a.n + n;return temp; }int main() {A ob1(1), ob2(2), ob3, ob4;ob3 = ob1 + ob2;ob4 = ob1.operator+(ob2);cout << "ob3.n" << " "<<ob3.getn() << endl;cout << "ob4.n" <<"\t"<< ob4.getn() << endl;system("pause");return 0; }</span>
<span style="font-size:18px;">#include<iostream> using namespace std; class A { private:int n; public:A(int x = 0){n = x;}int getn(){return n;}A operator++();}; A A::operator++() {++n;return *this; }int main() {A ob1(1);++ob1;cout << "shuchuzhi" << ob1.getn() << endl;ob1.operator++();cout << "bianhuan" << ob1.getn() << endl;system("pause");return 0; }</span>
2、运算符重载是类的友元函数是


调用格式:

friend <返回类型> operator<运算符>(参数表)

在类外定义

《返回类型》 operator<运算符》(参数表)


友元函数可以调用类的私有成员,相当于类的公有成员

显示的调用:

operator+(a,b)

隐士的调用:a+b

<span style="font-size:18px;">#include<iostream> using namespace std; class A { private:int a, b; public:A(int x = 0, int y = 0){a = x;b = y;}int geta(){return a;}int getb(){return b;}friend A operator+(A p, A q); }; A operator+(A p, A q) {A temp;temp.a = p.a + q.a;temp.b = p.b + q.b;return temp; } int main() {A ob1(1, 2), ob2(3, 4), ob3, ob4;ob3 = ob1 + ob2;ob4 = operator+(ob1, ob2);cout << ob3.geta() << " " << ob3.getb() << endl;cout << ob4.geta() << " " << ob4.getb() << endl;system("pause");return 0;}</span>

总结

以上是生活随笔为你收集整理的运载符重载的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。