Get the App
SLTechnology News&Howtos  ›  Development  › 

What is the difference between different ways of overloading C++ operators

Shulou Source: shulou.com Published: 2022-06-02 22:37:39 09月20日 Update

C++ operator overloading different ways of what is the difference, many novices are not very clear, in order to help you solve this problem, the following editor will explain in detail for you, people with this need can come to learn, I hope you can gain something.

C++ programming language can be seen as an upgraded version of the C language, it can support all the functions of the C language, but also has a great improvement in other aspects. Where, in C++ operator overloading, + +,-- you need to specify whether + + (-) is before or after the Operand. The difference is as follows:

The C++ operator overload code has been tested correctly (at least I have no problem here ^ _ ^)

# include

< iostream>

# include

< cstdlib>

Using namespace std; template

< typename T>

Class A {public: a (): M0 {} / / + const T operator + (const T & rhs) {/ / need to be repaired, but see it is only a demo return (this- > m + rhs);} / /-const T operator-(const T & rhs) {/ / need to be repaired, but see it is only a demo return (this- > m _-rhs);} T getM () {return m _ } / / + + the previous pattern, which returns a reference, permits + An A & operator + () {(this- > m _) + +; return * this;} / / + after that, a new type A variable is returned here and is unchangeable / / in order to prevent the occurrence of const An operator + (int a) {A

< T>

B = * this; (this- > m _) + +; return b;} private: t int;}; int main (void) {int I = 0; cout

< < ++++i< < endl; // i++++ is not allowed A< int>

A; A

< int>

B = + + a; cout

< < b.getM()< < endl; A< int>

C = astatine; cout < < c.getM () < < endl; cout < < a.getM () < < endl; int t = axi2; cout < < t < < endl; system ("pause"); return 0;} is it helpful for you to read the above content? If you want to know more about the relevant knowledge or read more related articles, please follow the industry information channel, thank you for your support.

Tags: Clips operators languages operands help support different ways large clear code content functions variables for this situation articles novices aspects more Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Xiaomi Microsoft Docker Shulou Information Shulou Technology