A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FOverload%2FAssign</id>
		<title>C++/Overload/Assign - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FOverload%2FAssign"/>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B/Overload/Assign&amp;action=history"/>
		<updated>2026-04-18T18:04:12Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C%2B%2B/Overload/Assign&amp;diff=2017&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B/Overload/Assign&amp;diff=2017&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C%2B%2B/Overload/Assign&amp;diff=2018&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B/Overload/Assign&amp;diff=2018&amp;oldid=prev"/>
				<updated>2010-05-25T10:28:25Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Another Demo: Overload the == and &amp;amp;&amp;amp; relative to MyClass class.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class MyClass {&lt;br /&gt;
  int x, y; &lt;br /&gt;
public:&lt;br /&gt;
  MyClass() { &lt;br /&gt;
     x=0; &lt;br /&gt;
     y=0; &lt;br /&gt;
  }&lt;br /&gt;
  MyClass(int i, int j) { &lt;br /&gt;
     x=i; &lt;br /&gt;
     y=j; &lt;br /&gt;
  }&lt;br /&gt;
  void getXY(int &amp;amp;i, int &amp;amp;j) { &lt;br /&gt;
     i=x; &lt;br /&gt;
     j=y; &lt;br /&gt;
  }&lt;br /&gt;
  int operator==(MyClass object2);&lt;br /&gt;
  int operator&amp;amp;&amp;amp;(MyClass object2);&lt;br /&gt;
};&lt;br /&gt;
// Overload the == operator for MyClass.&lt;br /&gt;
int MyClass::operator==(MyClass object2)&lt;br /&gt;
{&lt;br /&gt;
  return x==object2.x &amp;amp;&amp;amp; y==object2.y; &lt;br /&gt;
}&lt;br /&gt;
// Overload the &amp;amp;&amp;amp; operator for MyClass.&lt;br /&gt;
int MyClass::operator&amp;amp;&amp;amp;(MyClass object2)&lt;br /&gt;
{&lt;br /&gt;
  return (x &amp;amp;&amp;amp; object2.x) &amp;amp;&amp;amp; (y &amp;amp;&amp;amp; object2.y);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  MyClass object1(10, 10), object2(5, 3), object3(10, 10), object4(0, 0);&lt;br /&gt;
  if(object1==object2) &lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;object1 same as object2\n&amp;quot;;&lt;br /&gt;
  else &lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;object1 and object2 differ\n&amp;quot;;&lt;br /&gt;
  if(object1==object3) &lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;object1 same as object3\n&amp;quot;;&lt;br /&gt;
  else &lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;object1 and object3 differ\n&amp;quot;;&lt;br /&gt;
  if(object1 &amp;amp;&amp;amp; object2) &lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;object1 &amp;amp;&amp;amp; object2 is true\n&amp;quot;;&lt;br /&gt;
  else &lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;object1 &amp;amp;&amp;amp; object2 is false\n&amp;quot;;&lt;br /&gt;
  if(object1 &amp;amp;&amp;amp; object4) &lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;object1 &amp;amp;&amp;amp; object4 is true\n&amp;quot;;&lt;br /&gt;
  else &lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;object1 &amp;amp;&amp;amp; object4 is false\n&amp;quot;;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Operator Overloading: Overload the +, =,==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;  &lt;br /&gt;
using namespace std;     &lt;br /&gt;
class three_d {  &lt;br /&gt;
  int x, y, z;&lt;br /&gt;
public:  &lt;br /&gt;
  three_d operator+(three_d t);  &lt;br /&gt;
  three_d operator=(three_d t);  &lt;br /&gt;
     &lt;br /&gt;
  void show(void) ;  &lt;br /&gt;
  void assign(int mx, int my, int mz);  &lt;br /&gt;
} ;  &lt;br /&gt;
     &lt;br /&gt;
// Overload the +.  &lt;br /&gt;
three_d three_d::operator+(three_d t)  &lt;br /&gt;
{  &lt;br /&gt;
  three_d temp;  &lt;br /&gt;
     &lt;br /&gt;
  temp.x = x+t.x;  &lt;br /&gt;
  temp.y = y+t.y;  &lt;br /&gt;
  temp.z = z+t.z;  &lt;br /&gt;
  return temp;  &lt;br /&gt;
}  &lt;br /&gt;
     &lt;br /&gt;
// Overload the =.  &lt;br /&gt;
three_d three_d::operator=(three_d t)  &lt;br /&gt;
{  &lt;br /&gt;
  x = t.x;  &lt;br /&gt;
  y = t.y;  &lt;br /&gt;
  z = t.z;  &lt;br /&gt;
  return *this;  &lt;br /&gt;
}  &lt;br /&gt;
     &lt;br /&gt;
// show X, Y, Z coordinates  &lt;br /&gt;
void three_d::show(void)  &lt;br /&gt;
{  &lt;br /&gt;
  cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;  &lt;br /&gt;
  cout &amp;lt;&amp;lt; y &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;  &lt;br /&gt;
  cout &amp;lt;&amp;lt; z &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;  &lt;br /&gt;
}  &lt;br /&gt;
     &lt;br /&gt;
// Assign coordinates  &lt;br /&gt;
void three_d::assign(int mx, int my, int mz)  &lt;br /&gt;
{  &lt;br /&gt;
  x = mx;  &lt;br /&gt;
  y = my;  &lt;br /&gt;
  z = mz;  &lt;br /&gt;
}  &lt;br /&gt;
     &lt;br /&gt;
main(void)  &lt;br /&gt;
{  &lt;br /&gt;
  three_d a, b, c;  &lt;br /&gt;
     &lt;br /&gt;
  a.assign(1, 2, 3);  &lt;br /&gt;
  b.assign(10, 10, 10);  &lt;br /&gt;
     &lt;br /&gt;
  a.show();  &lt;br /&gt;
  b.show();  &lt;br /&gt;
     &lt;br /&gt;
  c = a+b;  &lt;br /&gt;
  c.show();  &lt;br /&gt;
     &lt;br /&gt;
  c = a+b+c; &lt;br /&gt;
  c.show();  &lt;br /&gt;
     &lt;br /&gt;
  c = b = a;  &lt;br /&gt;
  c.show();  &lt;br /&gt;
  b.show();  &lt;br /&gt;
     &lt;br /&gt;
  return 0;  &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==overloaded &amp;quot;+=&amp;quot; assignment operator==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
  using namespace std;&lt;br /&gt;
  class Distance{&lt;br /&gt;
     private:&lt;br /&gt;
        int feet;&lt;br /&gt;
        float inches;&lt;br /&gt;
     public:&lt;br /&gt;
        Distance() : feet(0), inches(0.0){  }&lt;br /&gt;
        Distance(int ft, float in) : feet(ft), inches(in){  }&lt;br /&gt;
        void getdist(){&lt;br /&gt;
           cout &amp;lt;&amp;lt; &amp;quot;\nEnter feet: &amp;quot;;  cin &amp;gt;&amp;gt; feet;&lt;br /&gt;
           cout &amp;lt;&amp;lt; &amp;quot;Enter inches: &amp;quot;;  cin &amp;gt;&amp;gt; inches;&lt;br /&gt;
        }&lt;br /&gt;
        void showdist() const{ &lt;br /&gt;
           cout &amp;lt;&amp;lt; feet &amp;lt;&amp;lt; &amp;quot;\&amp;quot;-&amp;quot; &amp;lt;&amp;lt; inches &amp;lt;&amp;lt; &amp;quot;\&amp;quot;&amp;quot;; &lt;br /&gt;
        }&lt;br /&gt;
        void operator += ( Distance );&lt;br /&gt;
     };&lt;br /&gt;
  void Distance::operator += (Distance d2){&lt;br /&gt;
     feet += d2.feet;&lt;br /&gt;
     inches += d2.inches;&lt;br /&gt;
     if(inches &amp;gt;= 12.0)&lt;br /&gt;
        {&lt;br /&gt;
        inches -= 12.0;&lt;br /&gt;
        feet++;&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
  int main(){&lt;br /&gt;
     Distance dist1;&lt;br /&gt;
     dist1.getdist();&lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;\ndist1 = &amp;quot;;  dist1.showdist();&lt;br /&gt;
     Distance dist2(11, 6.25);&lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;\ndist2 = &amp;quot;;  dist2.showdist();&lt;br /&gt;
     dist1 += dist2;&lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;\nAfter addition,&amp;quot;;&lt;br /&gt;
     cout &amp;lt;&amp;lt; &amp;quot;\ndist1 = &amp;quot;;  dist1.showdist();&lt;br /&gt;
     cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
     return 0;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==overloads assignment operator (=)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class alpha  {&lt;br /&gt;
   private:&lt;br /&gt;
      int data;&lt;br /&gt;
   public:&lt;br /&gt;
      alpha(){ }&lt;br /&gt;
      alpha(int d){ data = d; }&lt;br /&gt;
      void display(){ cout &amp;lt;&amp;lt; data; }&lt;br /&gt;
      alpha operator = (alpha&amp;amp; a){&lt;br /&gt;
         data = a.data;&lt;br /&gt;
         cout &amp;lt;&amp;lt; &amp;quot;\nAssignment operator invoked&amp;quot;;&lt;br /&gt;
         return alpha(data);&lt;br /&gt;
      }&lt;br /&gt;
};&lt;br /&gt;
int main(){&lt;br /&gt;
   alpha a1(37);&lt;br /&gt;
   alpha a2;&lt;br /&gt;
   a2 = a1;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;\na2=&amp;quot;;&lt;br /&gt;
   a2.display();&lt;br /&gt;
   alpha a3 = a2;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;\na3=&amp;quot;;&lt;br /&gt;
   a3.display();&lt;br /&gt;
   cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>