⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cjj119.htm

📁 c++的一些程序
💻 HTM
📖 第 1 页 / 共 2 页
字号:
                              color=#0000ff>04.设计一个点类Point,实现点对象之间的各种运算。</FONT><BR>解:<BR>&nbsp;&nbsp;&nbsp; 
                              Point类提供了6个运算符重载函数(参加程序中的代码和注释),以实现相应的运算。<BR>本题程序如下:<BR>#include&lt;iostream.h&gt;<BR>class 
                              Point<BR>{<BR>&nbsp;&nbsp;&nbsp; int 
                              x,y;<BR>&nbsp;&nbsp;&nbsp; 
                              public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              Point(){x=y=0;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              Point(int i,int 
                              j){x=i;y=j;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              Point(Point 
                              &amp;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              ~Point(){}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void 
                              offset(int,int);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 
                              提供对点的偏移<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void 
                              offset(Point);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              // 
                              重载,偏移量用Point类对象表示<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              bool operator==(Point);&nbsp;&nbsp;&nbsp; // 
                              运算符重载,判断两个对象是否相同<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              bool operator!=(Point);&nbsp;&nbsp;&nbsp; // 
                              运算符重载,判断两个对象是否不相同<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void operator+=(Point);&nbsp;&nbsp;&nbsp; // 
                              运算符重载,将两个点对象相加<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void operator-=(Point);&nbsp;&nbsp;&nbsp; // 
                              运算符重载,将两个点对象相减<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              Point operator+(Point<FONT 
                              color=#000000>);&nbsp;&nbsp;&nbsp; </FONT><FONT 
                              color=#000000>// 运</FONT><FONT 
                              color=#000000>算符重</FONT>载,相加并将结果放在左操作数中<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              Point operator-(Point);&nbsp;&nbsp;&nbsp; // 
                              运算符重载,相减并将结果放在左操作数中<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              int getx(){return 
                              x;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              int gety(){return 
                              y;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              void 
                              disp()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              cout&lt;&lt;"("&lt;&lt;x&lt;&lt;","&lt;&lt;y&lt;&lt;")"&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              }<BR>};<BR>Point::Point(Point 
                              &amp;p)<BR>{<BR>&nbsp;&nbsp;&nbsp; x=p.x; 
                              y=p.y;<BR>}<BR>void Point::offset(int i,int 
                              j)<BR>{<BR>&nbsp;&nbsp;&nbsp; x+=i; 
                              y+=j;<BR>}<BR>void Point::offset(Point 
                              p)<BR>{<BR>&nbsp;&nbsp;&nbsp; x+=p.getx(); 
                              y+=p.gety();<BR>}<BR>bool Point::operator==(Point 
                              p)<BR>{<BR>&nbsp;&nbsp;&nbsp; 
                              if(x==p.getx()&amp;&amp;y==p.gety())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              return 1;<BR>&nbsp;&nbsp;&nbsp; 
                              else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              return 0;<BR>}<BR>bool Point::operator!=(Point 
                              p)<BR>{<BR>&nbsp;&nbsp;&nbsp; 
                              if(x!=p.getx()||y!=p.gety())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              return 
                              1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              return 0;<BR>}<BR>void Point::operator+=(Point 
                              p)<BR>{<BR>&nbsp;&nbsp;&nbsp; x+=p.getx(); 
                              y+=p.gety();<BR>}<BR>void Point::operator-=(Point 
                              p)<BR>{<BR>&nbsp;&nbsp;&nbsp; x-=p.getx(); 
                              y-=p.gety();<BR>}<BR>Point Point::operator+(Point 
                              p)<BR>{<BR>&nbsp;&nbsp;&nbsp; this-&gt;x+=p.x; 
                              this-&gt;y+=p.y;<BR>&nbsp;&nbsp;&nbsp; return 
                              *this;<BR>}<BR>Point Point::operator-(Point 
                              p)<BR>{<BR>&nbsp;this-&gt;x-=p.x;this-&gt;y-=p.y;<BR>&nbsp;return 
                              *this;<BR>}<BR>void 
                              main()<BR>{<BR>&nbsp;&nbsp;&nbsp; Point 
                              p1(2,3),p2(3,4),p3(p2);<BR>&nbsp;&nbsp;&nbsp; 
                              cout&lt;&lt;"1:"; p3.disp();<BR>&nbsp;&nbsp;&nbsp; 
                              p3.offset(10,10);<BR>&nbsp;&nbsp;&nbsp; 
                              cout&lt;&lt;"2:"; p3.disp();<BR>&nbsp;&nbsp;&nbsp; 
                              cout&lt;&lt;"3:"&lt;&lt;(p2==p3)&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp; 
                              cout&lt;&lt;"4:"&lt;&lt;(p2!=p3)&lt;&lt;endl;<BR>&nbsp;&nbsp;&nbsp; 
                              p3+=p1;<BR>&nbsp;&nbsp;&nbsp; cout&lt;&lt;"5:"; 
                              p3.disp();<BR>&nbsp;&nbsp;&nbsp; 
                              p3-=p2;<BR>&nbsp;&nbsp;&nbsp; cout&lt;&lt;"6:"; 
                              p3.disp();<BR>&nbsp;&nbsp;&nbsp; 
                              p3=p1+p3;&nbsp;&nbsp; // 
                              先将p1+p3的结果放在p1中,然后赋给p3,所以p1=p3<BR>&nbsp;&nbsp;&nbsp; 
                              cout&lt;&lt;"7:"; p3.disp();<BR>&nbsp;&nbsp;&nbsp; 
                              p3=p1-p2;<BR>&nbsp;&nbsp;&nbsp; cout&lt;&lt;"8:"; 
                              p3.disp();<BR>}<BR><BR>本程序的执行结果如下:<BR>&nbsp;&nbsp;&nbsp; 
                              1:(3,4)<BR>&nbsp;&nbsp;&nbsp; 
                              2:(13,14)<BR>&nbsp;&nbsp;&nbsp; 
                              3:0<BR>&nbsp;&nbsp;&nbsp; 
                              4:1<BR>&nbsp;&nbsp;&nbsp; 
                              5:(15,17)<BR>&nbsp;&nbsp;&nbsp; 
                              6:(12,13)<BR>&nbsp;&nbsp;&nbsp; 
                              7:(14,16)<BR>&nbsp;&nbsp;&nbsp; 
                              8:(11,12)<BR><BR>----------------------------------------------------<BR></P><BR><BR></TD>
                          </TR>
                          </TBODY> 
                        </TABLE>
                      </TD>
                    </TR>
                    <TR> 
                      <TD height=35 width="100%"> 
                        <DIV align=center></DIV>
                      </TD>
                    </TR>
                    </TBODY> 
                  </TABLE>
                </TD></TR></TBODY>
			</TABLE>
			</TD></TR></TBODY>
		</TABLE>
	</TD></TR></TBODY>
</TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=750>
 <TBODY>
  <TR>
    <TD bgColor=#c1c1c1 height=1></TD>
  </TR>
 </TBODY>
</TABLE>


<TABLE align=center border=1 cellPadding=0 cellSpacing=1 
style="BORDER-COLLAPSE: collapse" width=550>
 <TBODY>
  <td  align=center>
      <div align="center">
        <p><a href=mailto:jjsun36@sohu.com ><span class="body14black">mailto:jjsun36@sohu.com</span></a><span class="body12red"> 
          &nbsp;&nbsp;&nbsp;&nbsp;热线电话:0523-4864559</span></p>
      </div>
    </td>
 </TBODY>
</TABLE>

</BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -