<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.programmingexamples.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.programmingexamples.net/w/index.php?action=history&amp;feed=atom&amp;title=CPP%2FOverloadOperator</id>
		<title>CPP/OverloadOperator - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.programmingexamples.net/w/index.php?action=history&amp;feed=atom&amp;title=CPP%2FOverloadOperator"/>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/w/index.php?title=CPP/OverloadOperator&amp;action=history"/>
		<updated>2026-06-13T04:26:32Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>http://www.programmingexamples.net/w/index.php?title=CPP/OverloadOperator&amp;diff=96&amp;oldid=prev</id>
		<title>Daviddoria: Created page with '==OverloadOperator.cpp== &lt;source lang=&quot;cpp&quot;&gt; #include &lt;iostream&gt;  class Point { private:   double a; 	 public:   double x,y,z; 	     Point(const double xin, const double yin, con…'</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/w/index.php?title=CPP/OverloadOperator&amp;diff=96&amp;oldid=prev"/>
				<updated>2010-06-23T12:51:27Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;#039;==OverloadOperator.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt;  class Point { private:   double a; 	 public:   double x,y,z; 	     Point(const double xin, const double yin, con…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==OverloadOperator.cpp==&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;
&lt;br /&gt;
class Point&lt;br /&gt;
{&lt;br /&gt;
private:&lt;br /&gt;
  double a;&lt;br /&gt;
	&lt;br /&gt;
public:&lt;br /&gt;
  double x,y,z;&lt;br /&gt;
	  &lt;br /&gt;
  Point(const double xin, const double yin, const double zin) : x(xin), y(yin), z(zin) {a = 5.0;}&lt;br /&gt;
&lt;br /&gt;
  Point operator+(const Point &amp;amp;P) const;&lt;br /&gt;
	  &lt;br /&gt;
  //Point&amp;amp; operator=(const Point &amp;amp;rhs);// const;&lt;br /&gt;
  Point operator=(const Point &amp;amp;rhs);&lt;br /&gt;
  &lt;br /&gt;
  friend std::ostream&amp;amp; operator&amp;lt;&amp;lt;(std::ostream&amp;amp; output,  const Point &amp;amp;P);&lt;br /&gt;
&lt;br /&gt;
  double operator[](int index)&lt;br /&gt;
  {&lt;br /&gt;
    if(index == 0)&lt;br /&gt;
    {&lt;br /&gt;
      return x;&lt;br /&gt;
    }&lt;br /&gt;
    else if(index == 1)&lt;br /&gt;
    {&lt;br /&gt;
      return y;&lt;br /&gt;
    }&lt;br /&gt;
    else if(index == 2)&lt;br /&gt;
    {&lt;br /&gt;
      return z;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Point Point::operator+(const Point &amp;amp;P) const&lt;br /&gt;
{&lt;br /&gt;
  return Point(x+P.x, y+P.y, z+P.z);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Point&amp;amp; Point::operator=(const Point &amp;amp;rhs)// const&lt;br /&gt;
{&lt;br /&gt;
  x = rhs.x;&lt;br /&gt;
  y = rhs.y;&lt;br /&gt;
  z = rhs.z;&lt;br /&gt;
  return this;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
Point Point::operator=(const Point &amp;amp;rhs)// const&lt;br /&gt;
{&lt;br /&gt;
  x = rhs.x;&lt;br /&gt;
  y = rhs.y;&lt;br /&gt;
  z = rhs.z;&lt;br /&gt;
  return *this;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
std::ostream&amp;amp; operator&amp;lt;&amp;lt;(std::ostream&amp;amp; output, const Point &amp;amp;P)&lt;br /&gt;
{&lt;br /&gt;
  output &amp;lt;&amp;lt; &amp;quot;Point: &amp;quot; &amp;lt;&amp;lt; P.x &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; P.y &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; P.z &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  output &amp;lt;&amp;lt; P.a &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  return output;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool operator&amp;lt;(const Point &amp;amp;P1, const Point &amp;amp;P2)&lt;br /&gt;
{&lt;br /&gt;
  if(P1.x &amp;lt; P2.x)&lt;br /&gt;
  {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  else if (P2.x &amp;lt; P1.x)&lt;br /&gt;
  {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (P1.y &amp;lt; P2.y)&lt;br /&gt;
  {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  else if (P2.y &amp;lt; P1.y)&lt;br /&gt;
  {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (P1.z &amp;lt; P2.z)&lt;br /&gt;
  {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  else if (P2.z &amp;lt; P1.z)&lt;br /&gt;
  {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char* argv[])&lt;br /&gt;
{&lt;br /&gt;
  Point P(0.0, 1.1, 2.0);&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; P &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
  Point P2(1.0, 2.0, 3.0);&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; P + P2 &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  &lt;br /&gt;
  std::cout &amp;lt;&amp;lt; P[0] &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; P[1] &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  &lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	</feed>