/www.cppreference.com/wiki/operator_precedence
#! | 375 lines | 354 code | 21 blank | 0 comment | 0 complexity | faf8bcea960ee4ace2d6fa701d79ed35 MD5 | raw file
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
- lang="en" dir="ltr">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>operator_precedence</title>
- <meta name="generator" content="DokuWiki" />
- <meta name="robots" content="index,follow" />
- <meta name="date" content="2010-10-28T18:17:16-0700" />
- <meta name="keywords" content="operator_precedence" />
- <link rel="search" type="application/opensearchdescription+xml" href="http://www.cppreference.com/wiki/lib/exe/opensearch.php" title="C++ Reference" />
- <link rel="start" href="../index.html" />
- <link rel="contents" href="http://www.cppreference.com/wiki/operator_precedence?do=index" title="Sitemap" />
- <link rel="alternate" type="application/rss+xml" title="Recent Changes" href="http://www.cppreference.com/wiki/feed.php" />
- <link rel="alternate" type="application/rss+xml" title="Current Namespace" href="http://www.cppreference.com/wiki/feed.php?mode=list&ns=" />
- <link rel="alternate" type="text/html" title="Plain HTML" href="http://www.cppreference.com/wiki/_export/xhtml/operator_precedence" />
- <link rel="alternate" type="text/plain" title="Wiki Markup" href="http://www.cppreference.com/wiki/_export/raw/operator_precedence" />
- <link rel="canonical" href="operator_precedence" />
- <link rel="stylesheet" media="screen" type="text/css" href="lib/exe/css.php@t=custom1&tseed=1289693594" />
- <link rel="stylesheet" media="all" type="text/css" href="lib/exe/css.php@s=all&t=custom1&tseed=1289693594" />
- <link rel="stylesheet" media="print" type="text/css" href="lib/exe/css.php@s=print&t=custom1&tseed=1289693594" />
- <script type="text/javascript" ><!--//--><![CDATA[//><!--
- var NS='';var JSINFO = {"id":"operator_precedence","namespace":""};
- //--><!]]></script>
- <script type="text/javascript" charset="utf-8" src="lib/exe/js.php@tseed=1289693594" ></script>
- </head>
- <body>
- <div class="dokuwiki export">
- <!-- TOC START -->
- <div class="toc">
- <div class="tocheader toctoggle" id="toc__header">Table of Contents</div>
- <div id="toc__inside">
- <ul class="toc">
- <li class="clear">
- <ul class="toc">
- <li class="level2"><div class="li"><span class="li"><a href="operator_precedence#c_operator_precedence" class="toc">C++ Operator Precedence</a></span></div></li>
- <li class="level2"><div class="li"><span class="li"><a href="operator_precedence#order_of_evaluation_and_of_side_effects" class="toc">Order of Evaluation and of Side Effects</a></span></div></li>
- <li class="level2"><div class="li"><span class="li"><a href="operator_precedence#overloading_of_operators" class="toc">Overloading of Operators</a></span></div></li></ul>
- </li></ul>
- </div>
- </div>
- <!-- TOC END -->
- <h2 class="sectionedit1"><a name="c_operator_precedence" id="c_operator_precedence">C++ Operator Precedence</a></h2>
- <div class="level2">
- <p>
- The operators at the top of this list are evaluated first. Operators within a group have the same precedence. All operators have left-to-right associativity unless otherwise noted.
- </p>
- <p>
- <br/>
- </p>
- <div class="table sectionedit2"><table class="inline">
- <tr class="row0">
- <th class="col0 centeralign"> Precedence </th><th class="col1 centeralign"> Operator </th><th class="col2 centeralign"> Description </th><th class="col3 centeralign"> Example </th><th class="col4 centeralign"> Overloadable </th><th class="col5 centeralign"> Associativity </th>
- </tr>
- <tr class="row1">
- <td class="col0"> 1 </td><td class="col1"><code>::</code> </td><td class="col2">Scope resolution operator </td><td class="col3"><code>Class::age = 2;</code> </td><td class="col4">no </td><td class="col5">left to right </td>
- </tr>
- <tr class="row2">
- <td class="col0" rowspan="12"> 2 </td><td class="col1"><code>()</code> </td><td class="col2">Function call </td><td class="col3"><code>printf(“Hello world\n”);</code> </td><td class="col4">yes </td><td class="col5" rowspan="12">left to right </td>
- </tr>
- <tr class="row3">
- <td class="col0"><code>()</code> </td><td class="col1">Member initalization </td><td class="col2"><code>c_tor(int x, int y) : _x(x), _y(y * 10) {}</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row4">
- <td class="col0"><code>[]</code> </td><td class="col1">Array access </td><td class="col2"><code>array[4] = 2;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row5">
- <td class="col0"><code>-></code> </td><td class="col1">Member access from a pointer </td><td class="col2"><code>ptr->age = 34;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row6">
- <td class="col0"><code>.</code> </td><td class="col1">Member access from an object </td><td class="col2"><code>obj.age = 34;</code> </td><td class="col3">no </td>
- </tr>
- <tr class="row7">
- <td class="col0"><code>++</code> </td><td class="col1">Post-increment </td><td class="col2"><code>for (int i = 0; i < 10; i++) cout << i;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row8">
- <td class="col0"><code>--</code> </td><td class="col1">Post-decrement </td><td class="col2"><code>for (int i = 10; i > 0; i--) cout << i;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row9">
- <td class="col0"><code>dynamic_cast</code> </td><td class="col1">Runtime-checked type conversion </td><td class="col2"><code>Y& y = dynamic_cast<Y&>(x);</code> </td><td class="col3">no </td>
- </tr>
- <tr class="row10">
- <td class="col0"><code>static_cast</code> </td><td class="col1">Unchecked type conversion </td><td class="col2"><code>Y& y = static_cast<Y&>(x);</code> </td><td class="col3">no </td>
- </tr>
- <tr class="row11">
- <td class="col0"><code>reinterpret_cast</code> </td><td class="col1">Reinterpreting type conversion </td><td class="col2"><code>int const* p = reinterpret_cast<int const*>(0x1234);</code> </td><td class="col3">no </td>
- </tr>
- <tr class="row12">
- <td class="col0"><code>const_cast</code> </td><td class="col1">Cast away/Add constness </td><td class="col2"><code>int* q = const_cast<int*>(p);</code> </td><td class="col3">no </td>
- </tr>
- <tr class="row13">
- <td class="col0"><code>typeid</code> </td><td class="col1">Get type information </td><td class="col2"><code>std::type_info const& t = typeid(x);</code> </td><td class="col3">no </td>
- </tr>
- <tr class="row14">
- <td class="col0" rowspan="16"> 3 </td><td class="col1"><code>!</code> </td><td class="col2">Logical negation </td><td class="col3" rowspan="2"><code>if (!done) ...</code> </td><td class="col4" rowspan="2">yes </td><td class="col5" rowspan="16">right to left </td>
- </tr>
- <tr class="row15">
- <td class="col0"><code>not</code> </td><td class="col1">Alternate spelling for <code>!</code> </td>
- </tr>
- <tr class="row16">
- <td class="col0"><code>~</code> </td><td class="col1">Bitwise complement </td><td class="col2" rowspan="2"><code>flags = ~flags;</code> </td><td class="col3" rowspan="2">yes </td>
- </tr>
- <tr class="row17">
- <td class="col0"><code>compl</code> </td><td class="col1">Alternate spelling for <code>~</code> </td>
- </tr>
- <tr class="row18">
- <td class="col0"><code>++</code> </td><td class="col1">Pre-increment </td><td class="col2"><code>for (i = 0; i < 10; ++i) cout << i;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row19">
- <td class="col0"><code>--</code> </td><td class="col1">Pre-decrement </td><td class="col2"><code>for (i = 10; i > 0; --i) cout << i;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row20">
- <td class="col0"><code>-</code> </td><td class="col1">Unary minus </td><td class="col2"><code>int i = -1;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row21">
- <td class="col0"><code>+</code> </td><td class="col1">Unary plus </td><td class="col2"><code>int i = +1;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row22">
- <td class="col0"><code>*</code> </td><td class="col1">Dereference </td><td class="col2"><code>int data = *intPtr;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row23">
- <td class="col0"><code>&</code> </td><td class="col1">Address of </td><td class="col2"><code>int *intPtr = &data;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row24">
- <td class="col0"><code>sizeof</code> </td><td class="col1">Size (of the type) of the operand in bytes </td><td class="col2"><code>size_t s = sizeof(int);</code> </td><td class="col3">no </td>
- </tr>
- <tr class="row25">
- <td class="col0"><code>new</code> </td><td class="col1">Dynamic memory allocation </td><td class="col2"><code>long* pVar = new long; </code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row26">
- <td class="col0"><code>new []</code> </td><td class="col1">Dynamic memory allocation of array </td><td class="col2"><code>long* array = new long[20];</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row27">
- <td class="col0"><code>delete</code> </td><td class="col1">Deallocating the memory </td><td class="col2"><code>delete pVar;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row28">
- <td class="col0"><code>delete []</code> </td><td class="col1">Deallocating the memory of array </td><td class="col2"><code>delete [] array;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row29">
- <td class="col0"><code>(type)</code> </td><td class="col1">Cast to a given type </td><td class="col2"><code>int i = (int)floatNum;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row30">
- <td class="col0" rowspan="2"> 4 </td><td class="col1"><code>->*</code> </td><td class="col2">Member pointer selector </td><td class="col3"><code>ptr->*var = 24;</code> </td><td class="col4">yes </td><td class="col5" rowspan="2">left to right </td>
- </tr>
- <tr class="row31">
- <td class="col0"><code>.*</code> </td><td class="col1">Member object selector </td><td class="col2"><code>obj.*var = 24;</code> </td><td class="col3">no </td>
- </tr>
- <tr class="row32">
- <td class="col0" rowspan="3"> 5 </td><td class="col1"><code>*</code> </td><td class="col2">Multiplication </td><td class="col3"><code>int i = 2 * 4;</code> </td><td class="col4">yes </td><td class="col5" rowspan="3">left to right </td>
- </tr>
- <tr class="row33">
- <td class="col0"><code>/</code> </td><td class="col1">Division </td><td class="col2"><code>float f = 10.0 / 3.0;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row34">
- <td class="col0"><code>%</code> </td><td class="col1">Modulus </td><td class="col2"><code>int rem = 4 % 3;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row35">
- <td class="col0" rowspan="2"> 6 </td><td class="col1"><code>+</code> </td><td class="col2">Addition </td><td class="col3"><code>int i = 2 + 3;</code> </td><td class="col4">yes </td><td class="col5" rowspan="2">left to right </td>
- </tr>
- <tr class="row36">
- <td class="col0"><code>-</code> </td><td class="col1">Subtraction </td><td class="col2"><code>int i = 5 - 1;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row37">
- <td class="col0" rowspan="2"> 7 </td><td class="col1"><code><<</code> </td><td class="col2">Bitwise shift left </td><td class="col3"><code>int flags = 33 << 1;</code> </td><td class="col4">yes </td><td class="col5" rowspan="2">left to right </td>
- </tr>
- <tr class="row38">
- <td class="col0"><code>>></code> </td><td class="col1">Bitwise shift right </td><td class="col2"><code>int flags = 33 >> 1;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row39">
- <td class="col0" rowspan="4"> 8 </td><td class="col1"><code><</code> </td><td class="col2">Comparison less-than </td><td class="col3"><code>if (i < 42) ...</code> </td><td class="col4">yes </td><td class="col5" rowspan="4">left to right </td>
- </tr>
- <tr class="row40">
- <td class="col0"><code><=</code> </td><td class="col1">Comparison less-than-or-equal-to </td><td class="col2"><code>if (i <= 42) ...</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row41">
- <td class="col0"><code>></code> </td><td class="col1">Comparison greater-than </td><td class="col2"><code>if (i > 42) ...</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row42">
- <td class="col0"><code>>=</code> </td><td class="col1">Comparison greater-than-or-equal-to </td><td class="col2"><code>if (i >= 42) ...</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row43">
- <td class="col0" rowspan="4"> 9 </td><td class="col1"><code>==</code> </td><td class="col2">Comparison equal-to </td><td class="col3" rowspan="2"><code>if (i == 42) ...</code> </td><td class="col4" rowspan="2">yes </td><td class="col5" rowspan="4">left to right</td>
- </tr>
- <tr class="row44">
- <td class="col0"><code>eq</code> </td><td class="col1 leftalign">Alternate spelling for == </td>
- </tr>
- <tr class="row45">
- <td class="col0"><code>!=</code> </td><td class="col1">Comparison not-equal-to </td><td class="col2" rowspan="2"><code>if (i != 42) ...</code> </td><td class="col3" rowspan="2">yes </td>
- </tr>
- <tr class="row46">
- <td class="col0"><code>not_eq</code> </td><td class="col1 leftalign">Alternate spelling for != </td>
- </tr>
- <tr class="row47">
- <td class="col0" rowspan="2">10 </td><td class="col1"><code>&</code> </td><td class="col2">Bitwise AND </td><td class="col3" rowspan="2"><code>flags = flags & 42;</code> </td><td class="col4" rowspan="2">yes </td><td class="col5" rowspan="2">left to right</td>
- </tr>
- <tr class="row48">
- <td class="col0"><code>bitand</code> </td><td class="col1 leftalign">Alternate spelling for & </td>
- </tr>
- <tr class="row49">
- <td class="col0" rowspan="2">11 </td><td class="col1"><code>^</code> </td><td class="col2">Bitwise exclusive OR (XOR) </td><td class="col3" rowspan="2"><code>flags = flags ^ 42;</code> </td><td class="col4" rowspan="2">yes </td><td class="col5" rowspan="2">left to right </td>
- </tr>
- <tr class="row50">
- <td class="col0"><code>xor</code> </td><td class="col1 leftalign">Alternate spelling for ^ </td>
- </tr>
- <tr class="row51">
- <td class="col0" rowspan="2">12 </td><td class="col1"><code>|</code> </td><td class="col2">Bitwise inclusive (normal) OR </td><td class="col3" rowspan="2"><code>flags = flags | 42;</code> </td><td class="col4" rowspan="2">yes </td><td class="col5" rowspan="2">left to right </td>
- </tr>
- <tr class="row52">
- <td class="col0"><code>bitor</code> </td><td class="col1">Alternate spelling for | </td>
- </tr>
- <tr class="row53">
- <td class="col0" rowspan="2">13 </td><td class="col1"><code>&&</code> </td><td class="col2">Logical AND </td><td class="col3" rowspan="2"><code>if (conditionA && conditionB) ...</code> </td><td class="col4" rowspan="2">yes </td><td class="col5" rowspan="2">left to right </td>
- </tr>
- <tr class="row54">
- <td class="col0"><code>and</code> </td><td class="col1 leftalign">Alternate spelling for && </td>
- </tr>
- <tr class="row55">
- <td class="col0" rowspan="2">14 </td><td class="col1"><code>||</code> </td><td class="col2">Logical OR </td><td class="col3" rowspan="2"><code>if (conditionA || conditionB) ...</code> </td><td class="col4" rowspan="2">yes </td><td class="col5" rowspan="2">left to right </td>
- </tr>
- <tr class="row56">
- <td class="col0"><code>or</code> </td><td class="col1">Alternate spelling for || </td>
- </tr>
- <tr class="row57">
- <td class="col0">15 </td><td class="col1"><code>? :</code> </td><td class="col2">Ternary conditional (if-then-else) </td><td class="col3"><code>int i = a > b ? a : b;</code> </td><td class="col4">no </td><td class="col5">right to left </td>
- </tr>
- <tr class="row58">
- <td class="col0" rowspan="14">16 </td><td class="col1"><code>=</code> </td><td class="col2">Assignment operator </td><td class="col3"><code>int a = b;</code> </td><td class="col4">yes </td><td class="col5" rowspan="14">right to left</td>
- </tr>
- <tr class="row59">
- <td class="col0"><code>+=</code> </td><td class="col1">Increment and assign </td><td class="col2"><code>a += 3;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row60">
- <td class="col0"><code>-=</code> </td><td class="col1">Decrement and assign </td><td class="col2"><code>b -= 4;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row61">
- <td class="col0"><code>*=</code> </td><td class="col1">Multiply and assign </td><td class="col2"><code>a *= 5;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row62">
- <td class="col0"><code>/=</code> </td><td class="col1">Divide and assign </td><td class="col2"><code>a /= 2;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row63">
- <td class="col0"><code>%=</code> </td><td class="col1">Modulo and assign </td><td class="col2"><code>a %= 3;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row64">
- <td class="col0"><code>&=</code> </td><td class="col1">Bitwise AND and assign </td><td class="col2" rowspan="2"><code>flags &= new_flags;</code> </td><td class="col3" rowspan="2">yes </td>
- </tr>
- <tr class="row65">
- <td class="col0"><code>and_eq</code> </td><td class="col1 leftalign">Alternate spelling for &= </td>
- </tr>
- <tr class="row66">
- <td class="col0"><code>^=</code> </td><td class="col1">Bitwise exclusive or (XOR) and assign </td><td class="col2" rowspan="2"><code>flags ^= new_flags;</code> </td><td class="col3" rowspan="2">yes </td>
- </tr>
- <tr class="row67">
- <td class="col0"><code>xor_eq</code> </td><td class="col1 leftalign">Alternate spelling for ^= </td>
- </tr>
- <tr class="row68">
- <td class="col0"><code>|=</code> </td><td class="col1">Bitwise normal OR and assign </td><td class="col2" rowspan="2"><code>flags |= new_flags;</code> </td><td class="col3" rowspan="2">yes </td>
- </tr>
- <tr class="row69">
- <td class="col0"><code>or_eq</code> </td><td class="col1">Alternate spelling for |= </td>
- </tr>
- <tr class="row70">
- <td class="col0"><code><<=</code> </td><td class="col1">Bitwise shift left and assign </td><td class="col2"><code>flags <<= 2;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row71">
- <td class="col0"><code>>>=</code> </td><td class="col1">Bitwise shift right and assign </td><td class="col2"><code>flags >>= 2;</code> </td><td class="col3">yes </td>
- </tr>
- <tr class="row72">
- <td class="col0">17 </td><td class="col1"><code>throw</code> </td><td class="col2">throw exception </td><td class="col3"><code>throw EClass(“Message”);</code> </td><td class="col4">no </td><td class="col5"> </td>
- </tr>
- <tr class="row73">
- <td class="col0">18 </td><td class="col1"><code>,</code> </td><td class="col2">Sequential evaluation operator </td><td class="col3"><code>for (i = 0, j = 0; i < 10; i++, j++) ...</code> </td><td class="col4">yes </td><td class="col5">left to right </td>
- </tr>
- </table></div>
- <!-- EDIT2 TABLE [225-5791] -->
- </div>
- <!-- EDIT1 SECTION "C++ Operator Precedence" [1-5792] -->
- <h2 class="sectionedit3"><a name="order_of_evaluation_and_of_side_effects" id="order_of_evaluation_and_of_side_effects">Order of Evaluation and of Side Effects</a></h2>
- <div class="level2">
- <p>
- One important aspect of C++ that is related to operator precedence, is the order of evaluation and the order of side effects in expressions.
- In most circumstances, the order in which things happen is not specified.
- For example in <code>f() + g()</code> whether <code>f()</code> or <code>g()</code> is called first is not specified.
- If at least one of the functions has side effects the results may differ across compilers, different versions of the same compiler or even between multiple runs of the same compiler.
- </p>
- <p>
- Further, the effect of certain expressions is undefined.
- For example, consider the following code:
- </p>
- <pre class="cpp code cpp"> <span class="kw4">float</span> x <span class="sy1">=</span> <span class="nu0">1</span><span class="sy4">;</span>
- x <span class="sy1">=</span> x <span class="sy2">/</span> <span class="sy2">++</span>x<span class="sy4">;</span></pre>
- <p>
- The value of x and the rest of the behaviour of the program after evaluating this expression is undefined.
- The program is semantically ill-formed:
- x is modified twice between two consecutive sequence points.
- </p>
- <p>
- Expressions like the one above must be avoided.
- When in doubt, break a large expression into multiple statements to ensure that the order of evaluation is
- correct.
- </p>
- </div>
- <!-- EDIT3 SECTION "Order of Evaluation and of Side Effects" [5793-6855] -->
- <h2 class="sectionedit4"><a name="overloading_of_operators" id="overloading_of_operators">Overloading of Operators</a></h2>
- <div class="level2">
- <p>
- Overloading of operators can be very useful and very dangerous.
- On one hand overloading operators for a class you have created can help with logistics and
- readability of code.
- On the other hand you can overload an operator in such a way that it can either obfuscate or just downright break your program.
- Use carefully.
- In particular never overload <code>&&</code>, <code>||</code> or <code>,</code>.
- In the overloaded context they lose the guarantee that the left operand is evaluated before the second and that there is a sequence point inbetween.
- </p>
- <p>
- There are two ways to over load an operator: global function or class member.
- </p>
- <p>
- Example of overloading with a global function:
- </p>
- <pre class="cpp code cpp"> ostream<span class="sy3">&</span> operator <span class="sy1"><<</span><span class="br0">(</span>ostream<span class="sy3">&</span> os, <span class="kw4">const</span> myClass<span class="sy3">&</span> rhs<span class="br0">)</span><span class="sy4">;</span></pre>
- <p>
- But to be able to reach any private data within a user defined class you have to
- declare the global function as a friend within the definition of the class.
- </p>
- <p>
- Example:
- </p>
- <pre class="cpp code cpp"> <span class="kw2">class</span> myClass <span class="br0">{</span>
-
- <span class="co1">// Gives the operator << function access to 'myData'</span>
- <span class="co1">// (this declaration should not go in public, private or protected)</span>
- <span class="kw2">friend</span> ostream<span class="sy3">&</span> operator <span class="sy1"><<</span><span class="br0">(</span>ostream<span class="sy3">&</span> lhs, <span class="kw4">const</span> myClass<span class="sy3">&</span> rhs<span class="br0">)</span><span class="sy4">;</span>
-
- <span class="kw2">private</span><span class="sy4">:</span>
- <span class="kw4">int</span> myData<span class="sy4">;</span>
- <span class="br0">}</span></pre>
- <p>
- Overloading with a class member can be done as follows:
- </p>
- <pre class="cpp code cpp"> <span class="kw2">class</span> myClass <span class="br0">{</span>
-
- <span class="kw2">public</span><span class="sy4">:</span>
- <span class="co1">// The left hand side of this operator becomes '*this'.</span>
- <span class="kw4">int</span> operator <span class="sy2">+</span><span class="br0">(</span><span class="kw4">const</span> myClass<span class="sy3">&</span> rhs<span class="br0">)</span><span class="sy4">;</span>
-
- <span class="kw2">private</span><span class="sy4">:</span>
- <span class="kw4">int</span> myData<span class="sy4">;</span>
- <span class="br0">}</span></pre>
- </div>
- <!-- EDIT4 SECTION "Overloading of Operators" [6856-] --></div>
- </body>
- </html>