<?xml version="1.0" encoding="windows-1252"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Giovanni Di Grezia - VFX Artist Forum - C ++</title>
		<link>https://www.xgiovio.com/forum/</link>
		<description>Source Codes - Testing C++</description>
		<language>en</language>
		<lastBuildDate>Fri, 17 Apr 2026 09:39:16 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>images/misc/rss.png</url>
			<title>Giovanni Di Grezia - VFX Artist Forum - C ++</title>
			<link>https://www.xgiovio.com/forum/</link>
		</image>
		<item>
			<title>Bitbucket Source</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/huffman-algorithm/518-bitbucket-source</link>
			<pubDate>Thu, 19 Jun 2014 18:02:24 GMT</pubDate>
			<description>https://bitbucket.org/xgiovio/huffman</description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">https</span><span style="color: #007700">:</span><span style="color: #FF8000">//bitbucket.org/xgiovio/huffman&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus/huffman-algorithm">Huffman Algorithm</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/huffman-algorithm/518-bitbucket-source</guid>
		</item>
		<item>
			<title>Demo and Codes</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/huffman-algorithm/449-demo-and-codes</link>
			<pubDate>Sun, 01 Dec 2013 16:23:38 GMT</pubDate>
			<description>Private REPO 
 
https://bitbucket.org/xgiovio/huffman 
 
Create binary prefix string using HUffman algorithm reading a file. A demo at the end of the...</description>
			<content:encoded><![CDATA[Private REPO<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">https</span><span style="color: #007700">:</span><span style="color: #FF8000">//bitbucket.org/xgiovio/huffman&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Create binary prefix string using HUffman algorithm reading a file. A demo at the end of the post<br />
<br />
<br />
exec.cpp<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;vector&gt;<br />#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br />#include&nbsp;&lt;ctime&gt;<br />#include&nbsp;&lt;fstream&gt;<br />#include&nbsp;&lt;algorithm&gt;<br /><br />#include&nbsp;"DataSet.h"<br />#include&nbsp;"HElement.h"<br />#include&nbsp;"Huffman.h"<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;n_parameters</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">**&nbsp;</span><span style="color: #0000BB">parameters</span><span style="color: #007700">)&nbsp;{<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">vector</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">DataCharString</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">table_code</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">huffman_p&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">huffman_f&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">read_data&nbsp;</span><span style="color: #007700">(*(</span><span style="color: #0000BB">parameters&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;)&nbsp;),&nbsp;&amp;</span><span style="color: #0000BB">table_code</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">sort&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">table_code</span><span style="color: #007700">.</span><span style="color: #0000BB">begin</span><span style="color: #007700">(),&nbsp;</span><span style="color: #0000BB">table_code</span><span style="color: #007700">.</span><span style="color: #0000BB">end</span><span style="color: #007700">());<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">vector</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">DataCharString</span><span style="color: #007700">&gt;::</span><span style="color: #0000BB">iterator&nbsp;i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">table_code</span><span style="color: #007700">.</span><span style="color: #0000BB">begin</span><span style="color: #007700">()&nbsp;;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">table_code</span><span style="color: #007700">.</span><span style="color: #0000BB">end</span><span style="color: #007700">()&nbsp;;&nbsp;++</span><span style="color: #0000BB">i</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"Char:&nbsp;"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;(*</span><span style="color: #0000BB">i</span><span style="color: #007700">).</span><span style="color: #0000BB">getChar</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #DD0000">"&nbsp;-&nbsp;Code:&nbsp;"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;(*</span><span style="color: #0000BB">i</span><span style="color: #007700">).</span><span style="color: #0000BB">getCode</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">cin</span><span style="color: #007700">.</span><span style="color: #0000BB">get</span><span style="color: #007700">();<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>DataSet.h<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#pragma&nbsp;once<br /><br />#include&nbsp;&lt;cstdlib&gt;<br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">HElement</span><span style="color: #007700">;<br /><br />class&nbsp;</span><span style="color: #0000BB">DataSet<br /></span><span style="color: #007700">{<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;in_character</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">float&nbsp;in_frequency</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">in_t_list&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;</span><span style="color: #007700">~</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;getcharacter</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;getfrequency</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;increment_frequency</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">gett_list</span><span style="color: #007700">();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;operator</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">bool&nbsp;operator</span><span style="color: #007700">==(const&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">bool&nbsp;operator</span><span style="color: #007700">&lt;&nbsp;(</span><span style="color: #0000BB">DataSet&nbsp;</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">in</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;</span><span style="color: #0000BB">bool&nbsp;order_dec&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">DataSet&nbsp;</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">a</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">b</span><span style="color: #007700">);<br /><br />private:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;character</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;frequency</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">t_list</span><span style="color: #007700">;<br />};&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>DataSet.cpp<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;"DataSet.h"<br /><br />#include&nbsp;&lt;iostream&gt;<br /><br /><br /></span><span style="color: #0000BB">DataSet</span><span style="color: #007700">::</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;in_character</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">float&nbsp;in_frequency</span><span style="color: #007700">,</span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">in_t_list</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">character&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">in_character</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">frequency&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">in_frequency</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">t_list&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">in_t_list</span><span style="color: #007700">;<br />}<br /><br /><br /></span><span style="color: #0000BB">DataSet</span><span style="color: #007700">::~</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;bisogna&nbsp;deallocare&nbsp;la&nbsp;roba&nbsp;in&nbsp;t_list<br /></span><span style="color: #007700">}<br /><br /><br /></span><span style="color: #0000BB">char&nbsp;DataSet</span><span style="color: #007700">::</span><span style="color: #0000BB">getcharacter</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">character</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">float&nbsp;DataSet</span><span style="color: #007700">::</span><span style="color: #0000BB">getfrequency</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">frequency</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;DataSet</span><span style="color: #007700">::</span><span style="color: #0000BB">increment_frequency</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;++</span><span style="color: #0000BB">frequency</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">::</span><span style="color: #0000BB">gett_list</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">t_list</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;DataSet</span><span style="color: #007700">::</span><span style="color: #0000BB">operator</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">character&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">getcharacter</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">frequency&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">getfrequency</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">t_list&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">gett_list</span><span style="color: #007700">();<br /><br />}<br /><br /></span><span style="color: #0000BB">bool&nbsp;DataSet</span><span style="color: #007700">::</span><span style="color: #0000BB">operator</span><span style="color: #007700">&lt;&nbsp;(</span><span style="color: #0000BB">DataSet&nbsp;</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">in</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;</span><span style="color: #0000BB">this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">frequency&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">getfrequency</span><span style="color: #007700">()&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br /></span><span style="color: #0000BB">bool&nbsp;DataSet</span><span style="color: #007700">::</span><span style="color: #0000BB">order_dec&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">DataSet&nbsp;</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">a</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">b</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;!(</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">b&nbsp;</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">bool&nbsp;DataSet</span><span style="color: #007700">::</span><span style="color: #0000BB">operator</span><span style="color: #007700">==(const&nbsp;</span><span style="color: #0000BB">char</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getcharacter</span><span style="color: #007700">()&nbsp;==&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>HElement.h<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#pragma&nbsp;once<br /><br />#include&nbsp;"DataSet.h"<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">HElement<br /></span><span style="color: #007700">{<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">HElement</span><span style="color: #007700">(</span><span style="color: #0000BB">bool&nbsp;status</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;left&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;right&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">HElement</span><span style="color: #007700">(</span><span style="color: #0000BB">bool&nbsp;status</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;in_core&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">HElement</span><span style="color: #007700">(</span><span style="color: #0000BB">DataSet&nbsp;single</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;</span><span style="color: #007700">~</span><span style="color: #0000BB">HElement</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">bool&nbsp;isconcrete</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">getleft_p&nbsp;</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">getright_p&nbsp;</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;getcore</span><span style="color: #007700">();<br /><br />private:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">bool&nbsp;concrete</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">left_p</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">right_p</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;core</span><span style="color: #007700">;<br />};&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>HElement.cpp<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;"HElement.h"<br /><br /><br /></span><span style="color: #0000BB">HElement</span><span style="color: #007700">::</span><span style="color: #0000BB">HElement</span><span style="color: #007700">(</span><span style="color: #0000BB">bool&nbsp;status</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;left&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;right</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">core</span><span style="color: #007700">(</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">))<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">concrete&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">status</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">left</span><span style="color: #007700">.</span><span style="color: #0000BB">gett_list</span><span style="color: #007700">()&nbsp;==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">left_p&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">HElement</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">,</span><span style="color: #0000BB">left</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">left_p&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">left</span><span style="color: #007700">.</span><span style="color: #0000BB">gett_list</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">right</span><span style="color: #007700">.</span><span style="color: #0000BB">gett_list</span><span style="color: #007700">()&nbsp;==&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">right_p&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">HElement</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">,</span><span style="color: #0000BB">right</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">right_p&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">right</span><span style="color: #007700">.</span><span style="color: #0000BB">gett_list</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br /><br /></span><span style="color: #0000BB">HElement</span><span style="color: #007700">::</span><span style="color: #0000BB">HElement</span><span style="color: #007700">(</span><span style="color: #0000BB">bool&nbsp;status</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;in_core&nbsp;</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">core</span><span style="color: #007700">(</span><span style="color: #0000BB">in_core</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">concrete&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">status</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">left_p&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">right_p&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br /><br />}<br /><br /><br /></span><span style="color: #0000BB">HElement</span><span style="color: #007700">::</span><span style="color: #0000BB">HElement</span><span style="color: #007700">(</span><span style="color: #0000BB">DataSet&nbsp;single</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">core</span><span style="color: #007700">(</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">))<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">concrete&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">left_p&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">HElement</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">,</span><span style="color: #0000BB">single</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">right_p&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br />}<br /><br /><br /></span><span style="color: #0000BB">bool&nbsp;HElement</span><span style="color: #007700">::</span><span style="color: #0000BB">isconcrete</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">concrete</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br /><br /></span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">HElement</span><span style="color: #007700">::</span><span style="color: #0000BB">getleft_p&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">left_p</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">HElement</span><span style="color: #007700">::</span><span style="color: #0000BB">getright_p&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">right_p</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /></span><span style="color: #0000BB">DataSet&nbsp;HElement</span><span style="color: #007700">::</span><span style="color: #0000BB">getcore</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">core</span><span style="color: #007700">;<br />}<br /><br /><br /></span><span style="color: #0000BB">HElement</span><span style="color: #007700">::~</span><span style="color: #0000BB">HElement</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br />{<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>DataCharString.h<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#pragma&nbsp;once<br /><br />#include&nbsp;&lt;string&gt;<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">DataCharString<br /></span><span style="color: #007700">{<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DataCharString</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;a</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;in_s</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;</span><span style="color: #007700">~</span><span style="color: #0000BB">DataCharString</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;getCode&nbsp;</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;getChar&nbsp;</span><span style="color: #007700">();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">bool&nbsp;operator</span><span style="color: #007700">&lt;&nbsp;(</span><span style="color: #0000BB">DataCharString&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">);<br /><br />private:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;character</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;code</span><span style="color: #007700">;<br />};&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>DataCharString.cpp<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;"DataCharString.h"<br /><br /><br /></span><span style="color: #0000BB">DataCharString</span><span style="color: #007700">::</span><span style="color: #0000BB">DataCharString</span><span style="color: #007700">(</span><span style="color: #0000BB">char&nbsp;a</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;in_s</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">character&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">code&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">in_s</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;DataCharString</span><span style="color: #007700">::</span><span style="color: #0000BB">getCode&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">code</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">char&nbsp;DataCharString</span><span style="color: #007700">::</span><span style="color: #0000BB">getChar&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">character</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">bool&nbsp;DataCharString</span><span style="color: #007700">::</span><span style="color: #0000BB">operator</span><span style="color: #007700">&lt;&nbsp;(</span><span style="color: #0000BB">DataCharString&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">code</span><span style="color: #007700">.</span><span style="color: #0000BB">length</span><span style="color: #007700">()&nbsp;&lt;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">getCode</span><span style="color: #007700">().</span><span style="color: #0000BB">length</span><span style="color: #007700">())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br /><br />}<br /><br /><br /></span><span style="color: #0000BB">DataCharString</span><span style="color: #007700">::~</span><span style="color: #0000BB">DataCharString</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br />{<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Huffman.h<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#pragma&nbsp;once<br /><br />#include&nbsp;"HElement.h"<br />#include&nbsp;&lt;vector&gt;<br />#include&nbsp;&lt;cstdlib&gt;<br />#include&nbsp;"DataCharString.h"<br /><br /></span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">huffman_f</span><span style="color: #007700">(</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">vector&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">void&nbsp;huffman_p&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;list,&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">vector&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">DataCharString</span><span style="color: #007700">&gt;&nbsp;*&nbsp;</span><span style="color: #0000BB">vect&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;in_s&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">vector</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">&gt;&nbsp;&amp;&nbsp;</span><span style="color: #0000BB">read_data&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">file</span><span style="color: #007700">);&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Huffman.cpp<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">//&nbsp;Huffman.cpp&nbsp;:&nbsp;Defines&nbsp;the&nbsp;entry&nbsp;point&nbsp;for&nbsp;the&nbsp;console&nbsp;application.<br />//<br /><br />#include&nbsp;&lt;vector&gt;<br />#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;iterator&gt;<br />#include&nbsp;&lt;algorithm&gt;<br />#include&nbsp;&lt;string&gt;<br />#include&nbsp;&lt;cstdlib&gt;<br />#include&nbsp;&lt;fstream&gt;<br /><br />#include&nbsp;"DataSet.h"<br />#include&nbsp;"HElement.h"<br />#include&nbsp;"DataCharString.h"<br /><br /><br /></span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">huffman_f</span><span style="color: #007700">(</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">vector&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">vector</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">&gt;::</span><span style="color: #0000BB">iterator&nbsp;it</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">HElement</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">t</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">first</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">second&nbsp;</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">size</span><span style="color: #007700">()&nbsp;==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;new&nbsp;</span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">((</span><span style="color: #0000BB">in</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">0</span><span style="color: #007700">&#93;));<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">size</span><span style="color: #007700">()&nbsp;==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">size</span><span style="color: #007700">()&nbsp;-&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">;&nbsp;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;&nbsp;--</span><span style="color: #0000BB">i</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">sort</span><span style="color: #007700">(</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">begin</span><span style="color: #007700">(),&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">begin</span><span style="color: #007700">()&nbsp;+&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1&nbsp;&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">::</span><span style="color: #0000BB">order_dec</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">second&nbsp;</span><span style="color: #007700">=&nbsp;&amp;(</span><span style="color: #0000BB">in</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i</span><span style="color: #007700">&#93;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">first&nbsp;</span><span style="color: #007700">=&nbsp;&amp;(</span><span style="color: #0000BB">in</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">&#93;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">t&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">false</span><span style="color: #007700">,&nbsp;*&nbsp;</span><span style="color: #0000BB">first</span><span style="color: #007700">,&nbsp;*&nbsp;</span><span style="color: #0000BB">second&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">erase</span><span style="color: #007700">(</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">begin</span><span style="color: #007700">()&nbsp;+&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">insert</span><span style="color: #007700">(</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">begin</span><span style="color: #007700">()&nbsp;+&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">DataSet&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">t</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getleft_p</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">getcore</span><span style="color: #007700">().</span><span style="color: #0000BB">getfrequency</span><span style="color: #007700">()&nbsp;+&nbsp;</span><span style="color: #0000BB">t</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getright_p</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">getcore</span><span style="color: #007700">().</span><span style="color: #0000BB">getfrequency</span><span style="color: #007700">(),</span><span style="color: #0000BB">t</span><span style="color: #007700">));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(*(</span><span style="color: #0000BB">in</span><span style="color: #007700">.</span><span style="color: #0000BB">begin</span><span style="color: #007700">())).</span><span style="color: #0000BB">gett_list</span><span style="color: #007700">();<br />}<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;huffman_p&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">HElement&nbsp;</span><span style="color: #007700">*&nbsp;list,&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">vector&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">DataCharString</span><span style="color: #007700">&gt;&nbsp;*&nbsp;</span><span style="color: #0000BB">vect&nbsp;</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;in_s</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(list&nbsp;!=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(list-&gt;</span><span style="color: #0000BB">isconcrete</span><span style="color: #007700">()){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DataCharString&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">t</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">t&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">DataCharString&nbsp;</span><span style="color: #007700">(list-&gt;</span><span style="color: #0000BB">getcore</span><span style="color: #007700">().</span><span style="color: #0000BB">getcharacter</span><span style="color: #007700">(),</span><span style="color: #0000BB">in_s&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*</span><span style="color: #0000BB">vect</span><span style="color: #007700">).</span><span style="color: #0000BB">push_back</span><span style="color: #007700">(*</span><span style="color: #0000BB">t</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">free</span><span style="color: #007700">(</span><span style="color: #0000BB">t</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">huffman_p&nbsp;</span><span style="color: #007700">(list-&gt;</span><span style="color: #0000BB">getleft_p</span><span style="color: #007700">(),</span><span style="color: #0000BB">vect</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">in_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"0"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">huffman_p&nbsp;</span><span style="color: #007700">(list-&gt;</span><span style="color: #0000BB">getright_p</span><span style="color: #007700">(),</span><span style="color: #0000BB">vect</span><span style="color: #007700">,</span><span style="color: #0000BB">in_s&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"1"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br /></span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">vector</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">&gt;&nbsp;&amp;&nbsp;</span><span style="color: #0000BB">read_data&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">char</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">file</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">fstream&nbsp;f&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">file&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">ios_base</span><span style="color: #007700">::</span><span style="color: #0000BB">in&nbsp;</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">f</span><span style="color: #007700">.</span><span style="color: #0000BB">good</span><span style="color: #007700">()){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">vector</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">&gt;&nbsp;*</span><span style="color: #0000BB">ridden_data&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">vector</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">&gt;&nbsp;();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">t</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">vector</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">DataSet</span><span style="color: #007700">&gt;::</span><span style="color: #0000BB">iterator&nbsp;it</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">char&nbsp;input&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">f</span><span style="color: #007700">.</span><span style="color: #0000BB">get</span><span style="color: #007700">();&nbsp;</span><span style="color: #0000BB">f</span><span style="color: #007700">.</span><span style="color: #0000BB">good</span><span style="color: #007700">()&nbsp;;&nbsp;</span><span style="color: #0000BB">input&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">f</span><span style="color: #007700">.</span><span style="color: #0000BB">get</span><span style="color: #007700">()&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">it&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">find</span><span style="color: #007700">((*</span><span style="color: #0000BB">ridden_data</span><span style="color: #007700">).</span><span style="color: #0000BB">begin</span><span style="color: #007700">(),(*</span><span style="color: #0000BB">ridden_data</span><span style="color: #007700">).</span><span style="color: #0000BB">end</span><span style="color: #007700">(),&nbsp;</span><span style="color: #0000BB">input&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((*</span><span style="color: #0000BB">ridden_data</span><span style="color: #007700">).</span><span style="color: #0000BB">size</span><span style="color: #007700">()&nbsp;==&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">||&nbsp;</span><span style="color: #0000BB">it</span><span style="color: #007700">==(*</span><span style="color: #0000BB">ridden_data</span><span style="color: #007700">).</span><span style="color: #0000BB">end</span><span style="color: #007700">()){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">t&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">DataSet&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">input</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*</span><span style="color: #0000BB">ridden_data</span><span style="color: #007700">).</span><span style="color: #0000BB">push_back&nbsp;</span><span style="color: #007700">(*</span><span style="color: #0000BB">t</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">free</span><span style="color: #007700">(</span><span style="color: #0000BB">t</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*</span><span style="color: #0000BB">it</span><span style="color: #007700">).</span><span style="color: #0000BB">increment_frequency</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;*</span><span style="color: #0000BB">ridden_data</span><span style="color: #007700">;<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"Error&nbsp;reading&nbsp;file"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">ios_base</span><span style="color: #007700">::</span><span style="color: #0000BB">failure&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">e</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"Error&nbsp;reading&nbsp;file"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div><br />
Demo<br />
Input<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">Lorem&nbsp;ipsum&nbsp;dolor&nbsp;sit&nbsp;amet</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">consectetur&nbsp;adipiscing&nbsp;elit</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">In&nbsp;sodales</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">est&nbsp;ut&nbsp;suscipit&nbsp;molestie</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">dui&nbsp;magna&nbsp;auctor&nbsp;augue</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">eget&nbsp;mattis&nbsp;purus&nbsp;enim&nbsp;sagittis&nbsp;massa</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Suspendisse&nbsp;sit&nbsp;amet&nbsp;arcu&nbsp;convallis</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">placerat&nbsp;neque&nbsp;condimentum</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">tincidunt&nbsp;lectus</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Nunc&nbsp;non&nbsp;erat&nbsp;id&nbsp;nibh&nbsp;iaculis&nbsp;condimentum</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Nam&nbsp;ac&nbsp;neque&nbsp;eget&nbsp;nisl&nbsp;euismod&nbsp;adipiscing&nbsp;commodo&nbsp;porttitor&nbsp;dolor</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Sed&nbsp;convallis&nbsp;interdum&nbsp;nisi</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">mattis&nbsp;ultrices&nbsp;est&nbsp;blandit&nbsp;cursus</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Aenean&nbsp;in&nbsp;lectus&nbsp;lacinia&nbsp;velit&nbsp;congue&nbsp;consectetur</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Nunc&nbsp;convallis&nbsp;imperdiet&nbsp;feugiat</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Nulla&nbsp;facilisi</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Nunc&nbsp;eros&nbsp;erat</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">laoreet&nbsp;ut&nbsp;tortor&nbsp;nec</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ultrices&nbsp;rhoncus&nbsp;nibh</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Nulla&nbsp;at&nbsp;adipiscing&nbsp;velit</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">sit&nbsp;amet&nbsp;vehicula&nbsp;sapien</span><span style="color: #007700">.<br /><br /></span><span style="color: #0000BB">Cum&nbsp;sociis&nbsp;natoque&nbsp;penatibus&nbsp;et&nbsp;magnis&nbsp;dis&nbsp;parturient&nbsp;montes</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">nascetur&nbsp;ridiculus&nbsp;mus</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Nullam&nbsp;porttitor&nbsp;fringilla&nbsp;turpis</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">et&nbsp;tempor&nbsp;ipsum&nbsp;adipiscing&nbsp;tristique</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Aliquam&nbsp;vel&nbsp;sem&nbsp;sollicitudin</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">adipiscing&nbsp;dui&nbsp;eu</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">placerat&nbsp;velit</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Aliquam&nbsp;diam&nbsp;nisl</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">sollicitudin&nbsp;sed&nbsp;nulla&nbsp;sed</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">tempor&nbsp;tristique&nbsp;ante</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Cras&nbsp;id&nbsp;pharetra&nbsp;dui</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">et&nbsp;commodo&nbsp;nisi</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Curabitur&nbsp;in&nbsp;felis&nbsp;porttitor&nbsp;arcu&nbsp;posuere&nbsp;venenatis</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Fusce&nbsp;diam&nbsp;enim</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">mollis&nbsp;sed&nbsp;rutrum&nbsp;eget</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">elementum&nbsp;id&nbsp;quam</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Sed&nbsp;interdum&nbsp;ultricies&nbsp;lacus</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Maecenas&nbsp;vehicula&nbsp;ornare&nbsp;viverra</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Pellentesque&nbsp;orci&nbsp;libero</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">sodales&nbsp;sed&nbsp;pulvinar&nbsp;ac</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">semper&nbsp;et&nbsp;mauris</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Curabitur&nbsp;tincidunt&nbsp;lacus&nbsp;non&nbsp;blandit&nbsp;bibendum</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Integer&nbsp;varius&nbsp;a&nbsp;purus&nbsp;nec&nbsp;iaculis</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Morbi&nbsp;sagittis&nbsp;tellus&nbsp;vel&nbsp;varius&nbsp;laoreet</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Etiam&nbsp;lobortis&nbsp;consectetur&nbsp;nunc</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">vel&nbsp;pellentesque&nbsp;orci&nbsp;pellentesque&nbsp;nec</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Curabitur&nbsp;tempor&nbsp;tincidunt&nbsp;elit</span><span style="color: #007700">.<br /><br /></span><span style="color: #0000BB">Proin&nbsp;a&nbsp;turpis&nbsp;in&nbsp;felis&nbsp;rhoncus&nbsp;imperdiet&nbsp;a&nbsp;sit&nbsp;amet&nbsp;orci</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Maecenas&nbsp;quis&nbsp;tortor&nbsp;ut&nbsp;enim&nbsp;cursus&nbsp;ultricies&nbsp;quis&nbsp;eu&nbsp;nulla</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Morbi&nbsp;sed&nbsp;iaculis&nbsp;sem</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">eget&nbsp;hendrerit&nbsp;urna</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Donec&nbsp;commodo&nbsp;orci&nbsp;sit&nbsp;amet&nbsp;porttitor&nbsp;lacinia</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Nunc&nbsp;bibendum&nbsp;aliquam&nbsp;augue&nbsp;non&nbsp;hendrerit</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Nulla&nbsp;facilisi</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Morbi&nbsp;erat&nbsp;nibh</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">interdum&nbsp;non&nbsp;ante&nbsp;vitae</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">accumsan&nbsp;tempor&nbsp;lacus</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Fusce&nbsp;facilisis&nbsp;nunc&nbsp;quis&nbsp;augue&nbsp;dapibus&nbsp;lacinia</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Phasellus&nbsp;fringilla&nbsp;volutpat&nbsp;ullamcorper</span><span style="color: #007700">.<br /><br /></span><span style="color: #0000BB">Maecenas&nbsp;consectetur&nbsp;in&nbsp;mi&nbsp;quis&nbsp;ullamcorper</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">In&nbsp;posuere&nbsp;tempor&nbsp;nibh</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">vitae&nbsp;faucibus&nbsp;est&nbsp;cursus&nbsp;sit&nbsp;amet</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Mauris&nbsp;vehicula&nbsp;nisi&nbsp;suscipit&nbsp;dignissim&nbsp;auctor</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Ut&nbsp;at&nbsp;urna&nbsp;turpis</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Integer&nbsp;venenatis&nbsp;nec&nbsp;enim&nbsp;eget&nbsp;sodales</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Vestibulum&nbsp;ante&nbsp;ipsum&nbsp;primis&nbsp;in&nbsp;faucibus&nbsp;orci&nbsp;luctus&nbsp;et&nbsp;ultrices&nbsp;posuere&nbsp;cubilia&nbsp;Curae</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">Nam&nbsp;a&nbsp;tempor&nbsp;nulla</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Sed&nbsp;ut&nbsp;diam&nbsp;sodales</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">fringilla&nbsp;massa&nbsp;ac</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">mattis&nbsp;dui</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Nam&nbsp;tellus&nbsp;urna</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">tempor&nbsp;sit&nbsp;amet&nbsp;massa&nbsp;id</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ornare&nbsp;gravida&nbsp;magna</span><span style="color: #007700">.<br /><br /></span><span style="color: #0000BB">Pellentesque&nbsp;sodales&nbsp;ligula&nbsp;nibh</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ac&nbsp;varius&nbsp;erat&nbsp;mattis&nbsp;varius</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Duis&nbsp;nunc&nbsp;ante</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">volutpat&nbsp;ultrices&nbsp;scelerisque&nbsp;eu</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">blandit&nbsp;sit&nbsp;amet&nbsp;mi</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Mauris&nbsp;placerat&nbsp;a&nbsp;libero&nbsp;eget&nbsp;sollicitudin</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Nunc&nbsp;eleifend&nbsp;rhoncus&nbsp;tincidunt</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Nam&nbsp;fringilla&nbsp;congue&nbsp;odio&nbsp;a&nbsp;pulvinar</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Interdum&nbsp;et&nbsp;malesuada&nbsp;fames&nbsp;ac&nbsp;ante&nbsp;ipsum&nbsp;primis&nbsp;in&nbsp;faucibus</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Aenean&nbsp;vulputate&nbsp;laoreet&nbsp;ipsum&nbsp;vitae&nbsp;vehicula</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Duis&nbsp;quis&nbsp;sem&nbsp;ac&nbsp;metus&nbsp;congue&nbsp;dapibus&nbsp;sit&nbsp;amet&nbsp;eget&nbsp;metus</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Suspendisse&nbsp;eu&nbsp;metus&nbsp;rhoncus</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">varius&nbsp;erat&nbsp;sit&nbsp;amet</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">posuere&nbsp;risus</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Ut&nbsp;eleifend&nbsp;urna&nbsp;non&nbsp;nulla&nbsp;pulvinar</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ac&nbsp;rutrum&nbsp;ligula&nbsp;luctus</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Morbi&nbsp;cursus&nbsp;volutpat&nbsp;elit</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Duis&nbsp;porta&nbsp;odio&nbsp;sed&nbsp;feugiat&nbsp;aliquam</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">In&nbsp;neque&nbsp;dui</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">laoreet&nbsp;a&nbsp;malesuada&nbsp;nec</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">blandit&nbsp;id&nbsp;metus</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Phasellus&nbsp;bibendum&nbsp;nulla&nbsp;magna</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">vel&nbsp;ornare&nbsp;dui&nbsp;pellentesque&nbsp;ullamcorper</span><span style="color: #007700">.<br /><br /><br /></span><span style="color: #0000BB">The&nbsp;standard&nbsp;Lorem&nbsp;Ipsum&nbsp;passage</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">used&nbsp;since&nbsp;the&nbsp;1500s<br /><br /></span><span style="color: #DD0000">"Lorem&nbsp;ipsum&nbsp;dolor&nbsp;sit&nbsp;amet,&nbsp;consectetur&nbsp;adipisicing&nbsp;elit,&nbsp;sed&nbsp;do&nbsp;eiusmod&nbsp;tempor&nbsp;incididunt&nbsp;ut&nbsp;labore&nbsp;et&nbsp;dolore&nbsp;magna&nbsp;aliqua.&nbsp;Ut&nbsp;enim&nbsp;ad&nbsp;minim&nbsp;veniam,&nbsp;quis&nbsp;nostrud&nbsp;exercitation&nbsp;ullamco&nbsp;laboris&nbsp;nisi&nbsp;ut&nbsp;aliquip&nbsp;ex&nbsp;ea&nbsp;commodo&nbsp;consequat.&nbsp;Duis&nbsp;aute&nbsp;irure&nbsp;dolor&nbsp;in&nbsp;reprehenderit&nbsp;in&nbsp;voluptate&nbsp;velit&nbsp;esse&nbsp;cillum&nbsp;dolore&nbsp;eu&nbsp;fugiat&nbsp;nulla&nbsp;pariatur.&nbsp;Excepteur&nbsp;sint&nbsp;occaecat&nbsp;cupidatat&nbsp;non&nbsp;proident,&nbsp;sunt&nbsp;in&nbsp;culpa&nbsp;qui&nbsp;officia&nbsp;deserunt&nbsp;mollit&nbsp;anim&nbsp;id&nbsp;est&nbsp;laborum."<br /></span><span style="color: #0000BB">Section&nbsp;1.10.32&nbsp;of&nbsp;</span><span style="color: #DD0000">"de&nbsp;Finibus&nbsp;Bonorum&nbsp;et&nbsp;Malorum"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">written&nbsp;by&nbsp;Cicero&nbsp;in&nbsp;45&nbsp;BC<br /><br /></span><span style="color: #DD0000">"Sed&nbsp;ut&nbsp;perspiciatis&nbsp;unde&nbsp;omnis&nbsp;iste&nbsp;natus&nbsp;error&nbsp;sit&nbsp;voluptatem&nbsp;accusantium&nbsp;doloremque&nbsp;laudantium,&nbsp;totam&nbsp;rem&nbsp;aperiam,&nbsp;eaque&nbsp;ipsa&nbsp;quae&nbsp;ab&nbsp;illo&nbsp;inventore&nbsp;veritatis&nbsp;et&nbsp;quasi&nbsp;architecto&nbsp;beatae&nbsp;vitae&nbsp;dicta&nbsp;sunt&nbsp;explicabo.&nbsp;Nemo&nbsp;enim&nbsp;ipsam&nbsp;voluptatem&nbsp;quia&nbsp;voluptas&nbsp;sit&nbsp;aspernatur&nbsp;aut&nbsp;odit&nbsp;aut&nbsp;fugit,&nbsp;sed&nbsp;quia&nbsp;consequuntur&nbsp;magni&nbsp;dolores&nbsp;eos&nbsp;qui&nbsp;ratione&nbsp;voluptatem&nbsp;sequi&nbsp;nesciunt.&nbsp;Neque&nbsp;porro&nbsp;quisquam&nbsp;est,&nbsp;qui&nbsp;dolorem&nbsp;ipsum&nbsp;quia&nbsp;dolor&nbsp;sit&nbsp;amet,&nbsp;consectetur,&nbsp;adipisci&nbsp;velit,&nbsp;sed&nbsp;quia&nbsp;non&nbsp;numquam&nbsp;eius&nbsp;modi&nbsp;tempora&nbsp;incidunt&nbsp;ut&nbsp;labore&nbsp;et&nbsp;dolore&nbsp;magnam&nbsp;aliquam&nbsp;quaerat&nbsp;voluptatem.&nbsp;Ut&nbsp;enim&nbsp;ad&nbsp;minima&nbsp;veniam,&nbsp;quis&nbsp;nostrum&nbsp;exercitationem&nbsp;ullam&nbsp;corporis&nbsp;suscipit&nbsp;laboriosam,&nbsp;nisi&nbsp;ut&nbsp;aliquid&nbsp;ex&nbsp;ea&nbsp;commodi&nbsp;consequatur?&nbsp;Quis&nbsp;autem&nbsp;vel&nbsp;eum&nbsp;iure&nbsp;reprehenderit&nbsp;qui&nbsp;in&nbsp;ea&nbsp;voluptate&nbsp;velit&nbsp;esse&nbsp;quam&nbsp;nihil&nbsp;molestiae&nbsp;consequatur,&nbsp;vel&nbsp;illum&nbsp;qui&nbsp;dolorem&nbsp;eum&nbsp;fugiat&nbsp;quo&nbsp;voluptas&nbsp;nulla&nbsp;pariatur?"<br /></span><span style="color: #0000BB">1914&nbsp;translation&nbsp;by&nbsp;H</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Rackham<br /><br /></span><span style="color: #DD0000">"But&nbsp;I&nbsp;must&nbsp;explain&nbsp;to&nbsp;you&nbsp;how&nbsp;all&nbsp;this&nbsp;mistaken&nbsp;idea&nbsp;of&nbsp;denouncing&nbsp;pleasure&nbsp;and&nbsp;praising&nbsp;pain&nbsp;was&nbsp;born&nbsp;and&nbsp;I&nbsp;will&nbsp;give&nbsp;you&nbsp;a&nbsp;complete&nbsp;account&nbsp;of&nbsp;the&nbsp;system,&nbsp;and&nbsp;expound&nbsp;the&nbsp;actual&nbsp;teachings&nbsp;of&nbsp;the&nbsp;great&nbsp;explorer&nbsp;of&nbsp;the&nbsp;truth,&nbsp;the&nbsp;master-builder&nbsp;of&nbsp;human&nbsp;happiness.&nbsp;No&nbsp;one&nbsp;rejects,&nbsp;dislikes,&nbsp;or&nbsp;avoids&nbsp;pleasure&nbsp;itself,&nbsp;because&nbsp;it&nbsp;is&nbsp;pleasure,&nbsp;but&nbsp;because&nbsp;those&nbsp;who&nbsp;do&nbsp;not&nbsp;know&nbsp;how&nbsp;to&nbsp;pursue&nbsp;pleasure&nbsp;rationally&nbsp;encounter&nbsp;consequences&nbsp;that&nbsp;are&nbsp;extremely&nbsp;painful.&nbsp;Nor&nbsp;again&nbsp;is&nbsp;there&nbsp;anyone&nbsp;who&nbsp;loves&nbsp;or&nbsp;pursues&nbsp;or&nbsp;desires&nbsp;to&nbsp;obtain&nbsp;pain&nbsp;of&nbsp;itself,&nbsp;because&nbsp;it&nbsp;is&nbsp;pain,&nbsp;but&nbsp;because&nbsp;occasionally&nbsp;circumstances&nbsp;occur&nbsp;in&nbsp;which&nbsp;toil&nbsp;and&nbsp;pain&nbsp;can&nbsp;procure&nbsp;him&nbsp;some&nbsp;great&nbsp;pleasure.&nbsp;To&nbsp;take&nbsp;a&nbsp;trivial&nbsp;example,&nbsp;which&nbsp;of&nbsp;us&nbsp;ever&nbsp;undertakes&nbsp;laborious&nbsp;physical&nbsp;exercise,&nbsp;except&nbsp;to&nbsp;obtain&nbsp;some&nbsp;advantage&nbsp;from&nbsp;it?&nbsp;But&nbsp;who&nbsp;has&nbsp;any&nbsp;right&nbsp;to&nbsp;find&nbsp;fault&nbsp;with&nbsp;a&nbsp;man&nbsp;who&nbsp;chooses&nbsp;to&nbsp;enjoy&nbsp;a&nbsp;pleasure&nbsp;that&nbsp;has&nbsp;no&nbsp;annoying&nbsp;consequences,&nbsp;or&nbsp;one&nbsp;who&nbsp;avoids&nbsp;a&nbsp;pain&nbsp;that&nbsp;produces&nbsp;no&nbsp;resultant&nbsp;pleasure?"<br /></span><span style="color: #0000BB">Section&nbsp;1.10.33&nbsp;of&nbsp;</span><span style="color: #DD0000">"de&nbsp;Finibus&nbsp;Bonorum&nbsp;et&nbsp;Malorum"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">written&nbsp;by&nbsp;Cicero&nbsp;in&nbsp;45&nbsp;BC<br /><br /></span><span style="color: #DD0000">"At&nbsp;vero&nbsp;eos&nbsp;et&nbsp;accusamus&nbsp;et&nbsp;iusto&nbsp;odio&nbsp;dignissimos&nbsp;ducimus&nbsp;qui&nbsp;blanditiis&nbsp;praesentium&nbsp;voluptatum&nbsp;deleniti&nbsp;atque&nbsp;corrupti&nbsp;quos&nbsp;dolores&nbsp;et&nbsp;quas&nbsp;molestias&nbsp;excepturi&nbsp;sint&nbsp;occaecati&nbsp;cupiditate&nbsp;non&nbsp;provident,&nbsp;similique&nbsp;sunt&nbsp;in&nbsp;culpa&nbsp;qui&nbsp;officia&nbsp;deserunt&nbsp;mollitia&nbsp;animi,&nbsp;id&nbsp;est&nbsp;laborum&nbsp;et&nbsp;dolorum&nbsp;fuga.&nbsp;Et&nbsp;harum&nbsp;quidem&nbsp;rerum&nbsp;facilis&nbsp;est&nbsp;et&nbsp;expedita&nbsp;distinctio.&nbsp;Nam&nbsp;libero&nbsp;tempore,&nbsp;cum&nbsp;soluta&nbsp;nobis&nbsp;est&nbsp;eligendi&nbsp;optio&nbsp;cumque&nbsp;nihil&nbsp;impedit&nbsp;quo&nbsp;minus&nbsp;id&nbsp;quod&nbsp;maxime&nbsp;placeat&nbsp;facere&nbsp;possimus,&nbsp;omnis&nbsp;voluptas&nbsp;assumenda&nbsp;est,&nbsp;omnis&nbsp;dolor&nbsp;repellendus.&nbsp;Temporibus&nbsp;autem&nbsp;quibusdam&nbsp;et&nbsp;aut&nbsp;officiis&nbsp;debitis&nbsp;aut&nbsp;rerum&nbsp;necessitatibus&nbsp;saepe&nbsp;eveniet&nbsp;ut&nbsp;et&nbsp;voluptates&nbsp;repudiandae&nbsp;sint&nbsp;et&nbsp;molestiae&nbsp;non&nbsp;recusandae.&nbsp;Itaque&nbsp;earum&nbsp;rerum&nbsp;hic&nbsp;tenetur&nbsp;a&nbsp;sapiente&nbsp;delectus,&nbsp;ut&nbsp;aut&nbsp;reiciendis&nbsp;voluptatibus&nbsp;maiores&nbsp;alias&nbsp;consequatur&nbsp;aut&nbsp;perferendis&nbsp;doloribus&nbsp;asperiores&nbsp;repellat."<br /></span><span style="color: #0000BB">1914&nbsp;translation&nbsp;by&nbsp;H</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Rackham<br /><br /></span><span style="color: #DD0000">"On&nbsp;the&nbsp;other&nbsp;hand,&nbsp;we&nbsp;denounce&nbsp;with&nbsp;righteous&nbsp;indignation&nbsp;and&nbsp;dislike&nbsp;men&nbsp;who&nbsp;are&nbsp;so&nbsp;beguiled&nbsp;and&nbsp;demoralized&nbsp;by&nbsp;the&nbsp;charms&nbsp;of&nbsp;pleasure&nbsp;of&nbsp;the&nbsp;moment,&nbsp;so&nbsp;blinded&nbsp;by&nbsp;desire,&nbsp;that&nbsp;they&nbsp;cannot&nbsp;foresee&nbsp;the&nbsp;pain&nbsp;and&nbsp;trouble&nbsp;that&nbsp;are&nbsp;bound&nbsp;to&nbsp;ensue;&nbsp;and&nbsp;equal&nbsp;blame&nbsp;belongs&nbsp;to&nbsp;those&nbsp;who&nbsp;fail&nbsp;in&nbsp;their&nbsp;duty&nbsp;through&nbsp;weakness&nbsp;of&nbsp;will,&nbsp;which&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;saying&nbsp;through&nbsp;shrinking&nbsp;from&nbsp;toil&nbsp;and&nbsp;pain.&nbsp;These&nbsp;cases&nbsp;are&nbsp;perfectly&nbsp;simple&nbsp;and&nbsp;easy&nbsp;to&nbsp;distinguish.&nbsp;In&nbsp;a&nbsp;free&nbsp;hour,&nbsp;when&nbsp;our&nbsp;power&nbsp;of&nbsp;choice&nbsp;is&nbsp;untrammelled&nbsp;and&nbsp;when&nbsp;nothing&nbsp;prevents&nbsp;our&nbsp;being&nbsp;able&nbsp;to&nbsp;do&nbsp;what&nbsp;we&nbsp;like&nbsp;best,&nbsp;every&nbsp;pleasure&nbsp;is&nbsp;to&nbsp;be&nbsp;welcomed&nbsp;and&nbsp;every&nbsp;pain&nbsp;avoided.&nbsp;But&nbsp;in&nbsp;certain&nbsp;circumstances&nbsp;and&nbsp;owing&nbsp;to&nbsp;the&nbsp;claims&nbsp;of&nbsp;duty&nbsp;or&nbsp;the&nbsp;obligations&nbsp;of&nbsp;business&nbsp;it&nbsp;will&nbsp;frequently&nbsp;occur&nbsp;that&nbsp;pleasures&nbsp;have&nbsp;to&nbsp;be&nbsp;repudiated&nbsp;and&nbsp;annoyances&nbsp;accepted.&nbsp;The&nbsp;wise&nbsp;man&nbsp;therefore&nbsp;always&nbsp;holds&nbsp;in&nbsp;these&nbsp;matters&nbsp;to&nbsp;this&nbsp;principle&nbsp;of&nbsp;selection:&nbsp;he&nbsp;rejects&nbsp;pleasures&nbsp;to&nbsp;secure&nbsp;other&nbsp;greater&nbsp;pleasures,&nbsp;or&nbsp;else&nbsp;he&nbsp;endures&nbsp;pains&nbsp;to&nbsp;avoid&nbsp;worse&nbsp;pains."&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Output<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">Char</span><span style="color: #007700">:&nbsp;&nbsp;&nbsp;-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #FF8000">//&nbsp;the&nbsp;space&nbsp;character<br /></span><span style="color: #0000BB">Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">e&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">10<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">t&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">11110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">u&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">s&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">n&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">11111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">o&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">111111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">r&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1111111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">l&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">11111111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">111111111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">m&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1111111111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">d&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">11111111111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">111111111111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">h&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1111111111111110<br />Char</span><span style="color: #007700">:&nbsp;.&nbsp;-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">11111111111111111<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">b&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">111111111111111100<br />Char</span><span style="color: #007700">:&nbsp;,&nbsp;-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1111111111111111010<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">v&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">11111111111111110110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">g&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">111111111111111101110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">q&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1111111111111111011110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">f&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">11111111111111110111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">w&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">111111111111111101111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">y&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1111111111111111011111110<br />Char</span><span style="color: #007700">:<br />&nbsp;-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">11111111111111110111111110&nbsp;&nbsp;</span><span style="color: #FF8000">///&nbsp;this&nbsp;is&nbsp;/n&nbsp;character<br /></span><span style="color: #0000BB">Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">M&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1111111111111111011111111100<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">k&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1111111111111111011111111101<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">N&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">1111111111111111011111111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">x&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Code</span><span style="color: #007700">:&nbsp;</span><span style="color: #0000BB">11111111111111110111111111110<br />Char</span><span style="color: #007700">:&nbsp;</span><span style="color: #DD0000">"&nbsp;-&nbsp;Code:&nbsp;111111111111111101111111111110<br />Char:&nbsp;I&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111110<br />Char:&nbsp;C&nbsp;-&nbsp;Code:&nbsp;11111111111111110111111111111110<br />Char:&nbsp;T&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111111100<br />Char:&nbsp;P&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111111101<br />Char:&nbsp;1&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111111110<br />Char:&nbsp;S&nbsp;-&nbsp;Code:&nbsp;11111111111111110111111111111111110<br />Char:&nbsp;B&nbsp;-&nbsp;Code:&nbsp;111111111111111101111111111111111110<br />Char:&nbsp;E&nbsp;-&nbsp;Code:&nbsp;11111111111111110111111111111111111100<br />Char:&nbsp;3&nbsp;-&nbsp;Code:&nbsp;11111111111111110111111111111111111101<br />Char:&nbsp;A&nbsp;-&nbsp;Code:&nbsp;11111111111111110111111111111111111110<br />Char:&nbsp;D&nbsp;-&nbsp;Code:&nbsp;111111111111111101111111111111111111110<br />Char:&nbsp;?&nbsp;-&nbsp;Code:&nbsp;11111111111111110111111111111111111111100<br />Char:&nbsp;U&nbsp;-&nbsp;Code:&nbsp;11111111111111110111111111111111111111110<br />Char:&nbsp;F&nbsp;-&nbsp;Code:&nbsp;111111111111111101111111111111111111111010<br />Char:&nbsp;0&nbsp;-&nbsp;Code:&nbsp;111111111111111101111111111111111111111110<br />Char:&nbsp;H&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111111111111110110<br />Char:&nbsp;R&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111111111111110111<br />Char:&nbsp;4&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111111111111111110<br />Char:&nbsp;L&nbsp;-&nbsp;Code:&nbsp;11111111111111110111111111111111111111111111<br />Char:&nbsp;j&nbsp;-&nbsp;Code:&nbsp;111111111111111101111111111111111111111111100<br />Char:&nbsp;5&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111111111111111111010<br />Char:&nbsp;9&nbsp;-&nbsp;Code:&nbsp;111111111111111101111111111111111111111111101100<br />Char:&nbsp;;&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111111111111111111011010<br />Char:&nbsp;z&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111111111111111111011100<br />Char:&nbsp;:&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111111111111111111011101<br />Char:&nbsp;2&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111111111111111111011110<br />Char:&nbsp;V&nbsp;-&nbsp;Code:&nbsp;1111111111111111011111111111111111111111111011111<br />Char:&nbsp;O&nbsp;-&nbsp;Code:&nbsp;11111111111111110111111111111111111111111110110111<br />Char:&nbsp;-&nbsp;-&nbsp;Code:&nbsp;111111111111111101111111111111111111111111101101100<br />Char:&nbsp;Q&nbsp;-&nbsp;Code:&nbsp;111111111111111101111111111111111111111111101101101&nbsp;<br /></span>
</span>
</code></div>
</div> ]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus/huffman-algorithm">Huffman Algorithm</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/huffman-algorithm/449-demo-and-codes</guid>
		</item>
		<item>
			<title>Gerarchie (Conversione da Java incluso Object)</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/448-gerarchie-conversione-da-java-incluso-object</link>
			<pubDate>Sun, 24 Nov 2013 18:20:06 GMT</pubDate>
			<description><![CDATA[File originale in java 
 
http://www.xgiovio.com/forum/forum/programming/java/447-gerarchie-object-persona-studente 
 
main 
 
 
#include &lt;iostream&gt;...]]></description>
			<content:encoded><![CDATA[File originale in java<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//www.xgiovio.com/forum/forum/programming/java/447-gerarchie-object-persona-studente&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>main<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br /><br />#include&nbsp;"Studente.h"<br />#include&nbsp;"Persona.h"<br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">()&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Studente&nbsp;a&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"mario"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1960</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"math"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Studente&nbsp;b&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"mario"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1960</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"math"</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">.</span><span style="color: #0000BB">to_string</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Studente&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">dynamic_cast&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">Studente&nbsp;</span><span style="color: #007700">*&gt;&nbsp;(</span><span style="color: #0000BB">a</span><span style="color: #007700">.clone());<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">to_string</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">a</span><span style="color: #007700">.</span><span style="color: #0000BB">equals</span><span style="color: #007700">(*</span><span style="color: #0000BB">c</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"equals"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br /><br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">cin</span><span style="color: #007700">.</span><span style="color: #0000BB">get</span><span style="color: #007700">();<br /><br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Object header<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#ifndef&nbsp;OBJECT_H<br />#define&nbsp;OBJECT_H<br /><br />#include&nbsp;&lt;string&gt;<br /><br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">Object<br /></span><span style="color: #007700">{<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Object</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;</span><span style="color: #007700">~</span><span style="color: #0000BB">Object</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;</span><span style="color: #007700">const&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;to_string&nbsp;</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;bool&nbsp;equals&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">Object</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in_obj</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;void&nbsp;</span><span style="color: #007700">print();<br /><br />protected:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;Object</span><span style="color: #007700">*&nbsp;clone()&nbsp;;<br /><br />};<br /><br /></span><span style="color: #FF8000">#endif&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Object cpp<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;"Object.h"<br />#include&nbsp;&lt;typeinfo&gt;<br />#include&nbsp;&lt;iostream&gt;<br /><br /><br /></span><span style="color: #007700">const&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;Object</span><span style="color: #007700">::</span><span style="color: #0000BB">to_string&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(&nbsp;</span><span style="color: #0000BB">typeid</span><span style="color: #007700">(*</span><span style="color: #0000BB">this</span><span style="color: #007700">).</span><span style="color: #0000BB">name</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #0000BB">bool&nbsp;Object</span><span style="color: #007700">::</span><span style="color: #0000BB">equals&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">Object</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in_obj</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">typeid</span><span style="color: #007700">(*</span><span style="color: #0000BB">this</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">typeid</span><span style="color: #007700">(</span><span style="color: #0000BB">in_obj</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">bad_typeid&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">e&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br /><br /></span><span style="color: #0000BB">Object</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">Object</span><span style="color: #007700">::clone(){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(new&nbsp;</span><span style="color: #0000BB">Object</span><span style="color: #007700">());<br />}<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;Object</span><span style="color: #007700">::print(){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">typeid</span><span style="color: #007700">(*</span><span style="color: #0000BB">this</span><span style="color: #007700">).</span><span style="color: #0000BB">name</span><span style="color: #007700">();<br />}<br /><br /><br /><br /></span><span style="color: #0000BB">Object</span><span style="color: #007700">::</span><span style="color: #0000BB">Object</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br />{<br />}<br /><br /><br /></span><span style="color: #0000BB">Object</span><span style="color: #007700">::~</span><span style="color: #0000BB">Object</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br />{<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Persona header<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#ifndef&nbsp;PERSONA_H<br />#define&nbsp;PERSONA_H<br /><br />#include&nbsp;"object.h"<br />#include&nbsp;&lt;string&gt;<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">Persona&nbsp;</span><span style="color: #007700">:&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000BB">Object<br /></span><span style="color: #007700">{<br /><br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Persona</span><span style="color: #007700">(</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;in_nome</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;in_anno</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;</span><span style="color: #007700">~</span><span style="color: #0000BB">Persona</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;</span><span style="color: #007700">const&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;to_string&nbsp;</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;bool&nbsp;equals&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">Object</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in_obj</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;Object</span><span style="color: #007700">*&nbsp;clone();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;getnome</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;int&nbsp;getanno</span><span style="color: #007700">();<br /><br />private:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;nome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;anno</span><span style="color: #007700">;<br /><br />};<br /><br /><br /></span><span style="color: #FF8000">#endif&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Persona cpp<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;"Persona.h"<br />#include&nbsp;&lt;string&gt;<br /><br /><br /></span><span style="color: #0000BB">Persona</span><span style="color: #007700">::</span><span style="color: #0000BB">Persona</span><span style="color: #007700">(</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;in_nome</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;in_anno</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">nome</span><span style="color: #007700">=</span><span style="color: #0000BB">in_nome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">anno&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">in_anno</span><span style="color: #007700">;<br />}<br /><br /><br />const&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;Persona</span><span style="color: #007700">::</span><span style="color: #0000BB">to_string&nbsp;</span><span style="color: #007700">(){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(</span><span style="color: #0000BB">Object</span><span style="color: #007700">::</span><span style="color: #0000BB">to_string</span><span style="color: #007700">()&nbsp;+&nbsp;</span><span style="color: #DD0000">"&nbsp;Nome&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">nome&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;-&nbsp;Anno&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">to_string</span><span style="color: #007700">(</span><span style="color: #0000BB">anno</span><span style="color: #007700">));<br /><br />}<br /></span><span style="color: #0000BB">bool&nbsp;Persona</span><span style="color: #007700">::</span><span style="color: #0000BB">equals&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">Object</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in_obj</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;</span><span style="color: #0000BB">Object</span><span style="color: #007700">::</span><span style="color: #0000BB">equals</span><span style="color: #007700">(</span><span style="color: #0000BB">in_obj</span><span style="color: #007700">)&nbsp;&amp;&amp;&nbsp;</span><span style="color: #0000BB">this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">nome&nbsp;</span><span style="color: #007700">==&nbsp;((</span><span style="color: #0000BB">Persona</span><span style="color: #007700">&amp;)</span><span style="color: #0000BB">in_obj</span><span style="color: #007700">).</span><span style="color: #0000BB">getnome</span><span style="color: #007700">()&nbsp;&amp;&amp;&nbsp;</span><span style="color: #0000BB">this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">anno&nbsp;</span><span style="color: #007700">==&nbsp;((</span><span style="color: #0000BB">Persona</span><span style="color: #007700">&amp;)</span><span style="color: #0000BB">in_obj</span><span style="color: #007700">).</span><span style="color: #0000BB">getanno</span><span style="color: #007700">()){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br /><br /></span><span style="color: #0000BB">Object</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">Persona</span><span style="color: #007700">::clone(){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Persona&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">t&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Persona</span><span style="color: #007700">(</span><span style="color: #0000BB">nome</span><span style="color: #007700">,</span><span style="color: #0000BB">anno</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">t</span><span style="color: #007700">;<br /><br />}<br /><br /><br /></span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;Persona</span><span style="color: #007700">::</span><span style="color: #0000BB">getnome</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">nome</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /></span><span style="color: #0000BB">int&nbsp;Persona</span><span style="color: #007700">::</span><span style="color: #0000BB">getanno</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">anno</span><span style="color: #007700">;<br />}<br /><br /><br /><br /><br /><br /><br /></span><span style="color: #0000BB">Persona</span><span style="color: #007700">::~</span><span style="color: #0000BB">Persona</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br />{<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Studente header<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#ifndef&nbsp;STUDENTE_H<br />#define&nbsp;STUDENTE_H<br />#include&nbsp;"persona.h"<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">Studente&nbsp;</span><span style="color: #007700">:&nbsp;public&nbsp;</span><span style="color: #0000BB">Persona<br /></span><span style="color: #007700">{<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Studente</span><span style="color: #007700">(</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;in_nome</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;in_anno</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;corso</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;</span><span style="color: #007700">~</span><span style="color: #0000BB">Studente</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;getcorso</span><span style="color: #007700">();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;</span><span style="color: #007700">const&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;to_string&nbsp;</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;bool&nbsp;equals&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">Object</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in_obj</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;Object</span><span style="color: #007700">*&nbsp;clone();<br /><br />private:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;corso</span><span style="color: #007700">;<br /><br />};<br /><br /><br /></span><span style="color: #FF8000">#endif&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>Studente cpp<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;"Studente.h"<br /><br /><br /></span><span style="color: #0000BB">Studente</span><span style="color: #007700">::</span><span style="color: #0000BB">Studente</span><span style="color: #007700">(</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;in_nome</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;in_anno</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;in_corso</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">Persona</span><span style="color: #007700">(</span><span style="color: #0000BB">in_nome</span><span style="color: #007700">,</span><span style="color: #0000BB">in_anno</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">corso&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">in_corso</span><span style="color: #007700">;<br />}<br /><br /><br /></span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;Studente</span><span style="color: #007700">::</span><span style="color: #0000BB">getcorso</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">corso</span><span style="color: #007700">;<br />}<br /><br /><br /><br /></span><span style="color: #0000BB">Studente</span><span style="color: #007700">::~</span><span style="color: #0000BB">Studente</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)<br />{<br />}<br /><br /><br />const&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">::</span><span style="color: #0000BB">string&nbsp;Studente</span><span style="color: #007700">::</span><span style="color: #0000BB">to_string&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(</span><span style="color: #0000BB">Persona</span><span style="color: #007700">::</span><span style="color: #0000BB">to_string</span><span style="color: #007700">()&nbsp;+&nbsp;</span><span style="color: #DD0000">"&nbsp;-&nbsp;Corso&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">corso</span><span style="color: #007700">);<br /><br />}<br /><br /><br /></span><span style="color: #0000BB">bool&nbsp;Studente</span><span style="color: #007700">::</span><span style="color: #0000BB">equals&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">Object</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in_obj</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">Persona</span><span style="color: #007700">::</span><span style="color: #0000BB">equals</span><span style="color: #007700">(</span><span style="color: #0000BB">in_obj</span><span style="color: #007700">)&nbsp;&amp;&amp;&nbsp;((</span><span style="color: #0000BB">Studente</span><span style="color: #007700">&amp;)</span><span style="color: #0000BB">in_obj</span><span style="color: #007700">).</span><span style="color: #0000BB">getcorso</span><span style="color: #007700">()&nbsp;==&nbsp;</span><span style="color: #0000BB">corso</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">Object</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">Studente</span><span style="color: #007700">::clone(){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(new&nbsp;</span><span style="color: #0000BB">Studente</span><span style="color: #007700">(</span><span style="color: #0000BB">getnome</span><span style="color: #007700">(),&nbsp;</span><span style="color: #0000BB">getanno</span><span style="color: #007700">(),&nbsp;&nbsp;</span><span style="color: #0000BB">corso</span><span style="color: #007700">));<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div> ]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/448-gerarchie-conversione-da-java-incluso-object</guid>
		</item>
		<item>
			<title>Nested Classes - Namespaces</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/428-nested-classes-namespaces</link>
			<pubDate>Sun, 20 Oct 2013 19:54:59 GMT</pubDate>
			<description>/* 
 
    a is a class 
        a1 and b are public subclass of class a 
            b inherit the class a1 
        c is a private subclass of class...</description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">/*<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;is&nbsp;a&nbsp;class<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a1&nbsp;and&nbsp;b&nbsp;are&nbsp;public&nbsp;subclass&nbsp;of&nbsp;class&nbsp;a<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b&nbsp;inherit&nbsp;the&nbsp;class&nbsp;a1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;is&nbsp;a&nbsp;private&nbsp;subclass&nbsp;of&nbsp;class&nbsp;a<br /><br /><br />*/<br /><br /><br />///////////////////////&nbsp;the&nbsp;inteface<br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">{<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">var;<br />&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;</span><span style="color: #0000BB">a1</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a1</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;in</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;};<br />&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;</span><span style="color: #0000BB">b&nbsp;</span><span style="color: #007700">:&nbsp;public&nbsp;</span><span style="color: #0000BB">a1&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;in</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;};<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">::</span><span style="color: #0000BB">a1&nbsp;mario</span><span style="color: #007700">;<br />private:<br />&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;};<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c&nbsp;obj</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;i&nbsp;&nbsp;can&nbsp;create&nbsp;a&nbsp;class&nbsp;c&nbsp;obj&nbsp;because&nbsp;i'm&nbsp;in&nbsp;the&nbsp;class&nbsp;a<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">b&nbsp;obj2</span><span style="color: #007700">;</span><span style="color: #FF8000">//&nbsp;b&nbsp;is&nbsp;a&nbsp;public&nbsp;subclass,&nbsp;i&nbsp;can&nbsp;create&nbsp;an&nbsp;object&nbsp;here&nbsp;and&nbsp;out&nbsp;of&nbsp;here<br /></span><span style="color: #007700">};<br /><br /></span><span style="color: #FF8000">/////////////////////&nbsp;the&nbsp;implementation<br /></span><span style="color: #0000BB">a</span><span style="color: #007700">::</span><span style="color: #0000BB">a</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;:var(</span><span style="color: #0000BB">0</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mario</span><span style="color: #007700">(</span><span style="color: #0000BB">10</span><span style="color: #007700">)<br />{}<br /><br /></span><span style="color: #0000BB">a</span><span style="color: #007700">::</span><span style="color: #0000BB">a1</span><span style="color: #007700">::</span><span style="color: #0000BB">a1</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;in</span><span style="color: #007700">)<br />{}<br /><br /></span><span style="color: #0000BB">a</span><span style="color: #007700">::</span><span style="color: #0000BB">b</span><span style="color: #007700">::</span><span style="color: #0000BB">b</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;in</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">a1</span><span style="color: #007700">(</span><span style="color: #0000BB">in</span><span style="color: #007700">)<br />{}<br /><br /></span><span style="color: #0000BB">a</span><span style="color: #007700">::</span><span style="color: #0000BB">c</span><span style="color: #007700">::</span><span style="color: #0000BB">c</span><span style="color: #007700">()<br />{}<br /><br /><br /><br /></span><span style="color: #FF8000">//////////////////&nbsp;main&nbsp;sample<br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">()&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a&nbsp;obj1</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;a&nbsp;in&nbsp;a&nbsp;general&nbsp;class<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">::</span><span style="color: #0000BB">a1&nbsp;obj2</span><span style="color: #007700">(</span><span style="color: #0000BB">10</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;a1&nbsp;is&nbsp;accessible&nbsp;because&nbsp;it's&nbsp;a&nbsp;public&nbsp;subclass&nbsp;of&nbsp;a<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">::</span><span style="color: #0000BB">b&nbsp;&nbsp;obj3</span><span style="color: #007700">(</span><span style="color: #0000BB">10</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;ab&nbsp;is&nbsp;accessible&nbsp;because&nbsp;it's&nbsp;a&nbsp;public&nbsp;subclass&nbsp;of&nbsp;a<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">::</span><span style="color: #0000BB">c&nbsp;obj4</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;error&nbsp;-&nbsp;c&nbsp;is&nbsp;a&nbsp;private&nbsp;subclass&nbsp;of&nbsp;a,&nbsp;i&nbsp;can&nbsp;declase&nbsp;a&nbsp;c&nbsp;object&nbsp;only&nbsp;as&nbsp;a&nbsp;class&nbsp;a&nbsp;member<br /><br /></span><span style="color: #007700">}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/428-nested-classes-namespaces</guid>
		</item>
		<item>
			<title>MergeSort - Divide and Conquer</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/422-mergesort-divide-and-conquer</link>
			<pubDate>Sat, 12 Oct 2013 18:45:40 GMT</pubDate>
			<description><![CDATA[#include &lt;iostream&gt; 
 
using namespace std; 
 
void x_merge (int * first_array, int size1, int * second_array, int size2){ 
 
    int i,j,k; 
    int...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;iostream&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">void&nbsp;x_merge&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">first_array</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;size1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">second_array</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;size2</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">,</span><span style="color: #0000BB">j</span><span style="color: #007700">,</span><span style="color: #0000BB">k</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">third_array&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">size1&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">size2</span><span style="color: #007700">&#93;;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">=-</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">;&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size1</span><span style="color: #007700">)&nbsp;&amp;&amp;&nbsp;(</span><span style="color: #0000BB">j</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size2</span><span style="color: #007700">)&nbsp;;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;*(</span><span style="color: #0000BB">first_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;&lt;=&nbsp;*(</span><span style="color: #0000BB">second_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">)&nbsp;&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++</span><span style="color: #0000BB">k</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">third_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">)&nbsp;=&nbsp;&nbsp;*(</span><span style="color: #0000BB">first_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++</span><span style="color: #0000BB">k</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">third_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">)&nbsp;=&nbsp;&nbsp;*(</span><span style="color: #0000BB">second_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++</span><span style="color: #0000BB">j</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">&gt;=&nbsp;</span><span style="color: #0000BB">size1&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(;</span><span style="color: #0000BB">j</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size2</span><span style="color: #007700">;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++</span><span style="color: #0000BB">k</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">third_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">)&nbsp;=&nbsp;&nbsp;*(</span><span style="color: #0000BB">second_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++</span><span style="color: #0000BB">j</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size1</span><span style="color: #007700">;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++</span><span style="color: #0000BB">k</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">third_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">k</span><span style="color: #007700">)&nbsp;=&nbsp;&nbsp;*(</span><span style="color: #0000BB">first_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size1&nbsp;</span><span style="color: #007700">;++</span><span style="color: #0000BB">i</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">first_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;*(</span><span style="color: #0000BB">third_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">=</span><span style="color: #0000BB">i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size2&nbsp;</span><span style="color: #007700">;++</span><span style="color: #0000BB">i</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">second_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;*(</span><span style="color: #0000BB">third_array&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">j</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">delete&nbsp;</span><span style="color: #007700">&#91;&#93;&nbsp;</span><span style="color: #0000BB">third_array&nbsp;</span><span style="color: #007700">;<br />}<br /><br /><br /><br /></span><span style="color: #0000BB">void&nbsp;x_mergesort</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;array,&nbsp;</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">size&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">,</span><span style="color: #0000BB">b</span><span style="color: #007700">,</span><span style="color: #0000BB">c</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a</span><span style="color: #007700">=*array;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">=*(array&nbsp;+&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">b&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">=&nbsp;*array;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*array&nbsp;=&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(array&nbsp;+</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">size&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">x_mergesort</span><span style="color: #007700">(&nbsp;array,&nbsp;(</span><span style="color: #0000BB">size</span><span style="color: #007700">/</span><span style="color: #0000BB">2</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">x_mergesort</span><span style="color: #007700">(array&nbsp;+&nbsp;(</span><span style="color: #0000BB">size</span><span style="color: #007700">/</span><span style="color: #0000BB">2</span><span style="color: #007700">),</span><span style="color: #0000BB">size&nbsp;</span><span style="color: #007700">-&nbsp;(</span><span style="color: #0000BB">size</span><span style="color: #007700">/</span><span style="color: #0000BB">2</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">x_merge</span><span style="color: #007700">(array,&nbsp;(</span><span style="color: #0000BB">size</span><span style="color: #007700">/</span><span style="color: #0000BB">2</span><span style="color: #007700">),&nbsp;array&nbsp;+&nbsp;(</span><span style="color: #0000BB">size</span><span style="color: #007700">/</span><span style="color: #0000BB">2</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">size&nbsp;</span><span style="color: #007700">-&nbsp;(</span><span style="color: #0000BB">size</span><span style="color: #007700">/</span><span style="color: #0000BB">2</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;x_print&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;array,&nbsp;</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;++</span><span style="color: #0000BB">i</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;&nbsp;*&nbsp;(array&nbsp;+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;numeri&nbsp;</span><span style="color: #007700">&#91;&#93;&nbsp;=&nbsp;{</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">10</span><span style="color: #007700">,</span><span style="color: #0000BB">5</span><span style="color: #007700">,</span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #0000BB">345</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">,</span><span style="color: #0000BB">33</span><span style="color: #007700">,</span><span style="color: #0000BB">22</span><span style="color: #007700">,</span><span style="color: #0000BB">44</span><span style="color: #007700">,</span><span style="color: #0000BB">33</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">,</span><span style="color: #0000BB">4</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">,</span><span style="color: #0000BB">5</span><span style="color: #007700">,</span><span style="color: #0000BB">8</span><span style="color: #007700">,</span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #0000BB">9</span><span style="color: #007700">,</span><span style="color: #0000BB">4</span><span style="color: #007700">,</span><span style="color: #0000BB">445</span><span style="color: #007700">,</span><span style="color: #0000BB">22</span><span style="color: #007700">,</span><span style="color: #0000BB">334</span><span style="color: #007700">,</span><span style="color: #0000BB">54</span><span style="color: #007700">};<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">x_mergesort</span><span style="color: #007700">(</span><span style="color: #0000BB">numeri</span><span style="color: #007700">,</span><span style="color: #0000BB">23</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">x_print</span><span style="color: #007700">(</span><span style="color: #0000BB">numeri</span><span style="color: #007700">,</span><span style="color: #0000BB">23</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cin</span><span style="color: #007700">.</span><span style="color: #0000BB">get</span><span style="color: #007700">();<br />return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/422-mergesort-divide-and-conquer</guid>
		</item>
		<item>
			<title>Create a smart pointer</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/418-create-a-smart-pointer</link>
			<pubDate>Fri, 04 Oct 2013 15:24:53 GMT</pubDate>
			<description>Creare una classe unique_pointer per eliminare automaticamente i dati allocati dinamicamente senza chiamare la funzione delete. 
Appena una istanza...</description>
			<content:encoded><![CDATA[Creare una classe unique_pointer per eliminare automaticamente i dati allocati dinamicamente senza chiamare la funzione delete.<br />
Appena una istanza di unique_pointer viene rimossa dallo stack, il suo decostruttore eliminerà automaticamente anche i dati allocati nell'heap a cui punta.<br />
<br />
L'overload degli operatori = e () permottono di effettuare assegnazioni dirette e perdere l'autorizzazione ad eliminare i dati se c'è un altro puntatore che punta agli stessi dati.<br />
<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;iomanip&gt;<br />#include&nbsp;&lt;string&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /><br /></span><span style="color: #0000BB">template&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">typename&nbsp;TIPO&nbsp;</span><span style="color: #007700">&gt;class&nbsp;</span><span style="color: #0000BB">unique_pointer&nbsp;</span><span style="color: #007700">{<br />public:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////&nbsp;constructor,&nbsp;initialize&nbsp;the&nbsp;pointer&nbsp;and&nbsp;ownership<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">unique_pointer</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">pointer</span><span style="color: #007700">(</span><span style="color: #0000BB">NULL</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ownership</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">///////////////////////&nbsp;the&nbsp;main&nbsp;utility&nbsp;of&nbsp;this&nbsp;class&nbsp;-&nbsp;delete&nbsp;the&nbsp;pointed&nbsp;data&nbsp;when&nbsp;it's&nbsp;removed&nbsp;from&nbsp;the&nbsp;stack<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">~</span><span style="color: #0000BB">unique_pointer</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;(</span><span style="color: #0000BB">pointer&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">)&nbsp;&amp;&amp;&nbsp;(</span><span style="color: #0000BB">ownership</span><span style="color: #007700">==</span><span style="color: #0000BB">1</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">delete&nbsp;pointer</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">///////////////////&nbsp;operator&nbsp;=&nbsp;defined&nbsp;to&nbsp;permit&nbsp;direct&nbsp;assignment<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">operator</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">TIPO&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">in_pointer</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">set_p</span><span style="color: #007700">(</span><span style="color: #0000BB">in_pointer</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////&nbsp;operator&nbsp;()&nbsp;defined&nbsp;to&nbsp;pass&nbsp;the&nbsp;pointer&nbsp;to&nbsp;a&nbsp;general&nbsp;pointer&nbsp;and&nbsp;remove&nbsp;the&nbsp;permission&nbsp;to&nbsp;delete&nbsp;data<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">operator</span><span style="color: #007700">()&nbsp;(&nbsp;</span><span style="color: #0000BB">TIPO&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">new_pointer&nbsp;&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">new_pointer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">pointer</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ownership&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br /><br />private:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;set_p&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">TIPO&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">in_pointer</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pointer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">in_pointer</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ownership&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">TIPO&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">pointer</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;the&nbsp;pointer&nbsp;storage<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;ownership</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;permission&nbsp;to&nbsp;delete&nbsp;data<br /><br /></span><span style="color: #007700">};<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">unique_pointer&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">u_pointer</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;create&nbsp;a&nbsp;smart&nbsp;pointer&nbsp;u_pointer;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">u_pointer&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">string</span><span style="color: #007700">(</span><span style="color: #DD0000">"ciao"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;new&nbsp;return&nbsp;address&nbsp;to&nbsp;u_pointer<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">string_pointer</span><span style="color: #007700">;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;general&nbsp;pointer&nbsp;to&nbsp;a&nbsp;string&nbsp;class<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">u_pointer</span><span style="color: #007700">(</span><span style="color: #0000BB">string_pointer</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;u_pointer&nbsp;pass&nbsp;it's&nbsp;hidden&nbsp;pointer&nbsp;address&nbsp;to&nbsp;string_pointer<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cin</span><span style="color: #007700">.</span><span style="color: #0000BB">get</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//<br /><br /></span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/418-create-a-smart-pointer</guid>
		</item>
		<item>
			<title>Throw Exceptions - unexpected and terminate functions</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/416-throw-exceptions-unexpected-and-terminate-functions</link>
			<pubDate>Mon, 30 Sep 2013 15:26:00 GMT</pubDate>
			<description><![CDATA[set_unexpected called because the function hasn't permission to throw exceptions. After, terminate function is launched. 
 
#include &lt;iostream&gt;...]]></description>
			<content:encoded><![CDATA[set_unexpected called because the function hasn't permission to throw exceptions. After, terminate function is launched.<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br />#include&nbsp;&lt;stdexcept&gt;<br /><br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//////////////////////////&nbsp;samaple&nbsp;class<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">DivideForZeroException&nbsp;</span><span style="color: #007700">:&nbsp;public&nbsp;</span><span style="color: #0000BB">runtime_error&nbsp;</span><span style="color: #007700">{<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DivideForZeroException</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="color: #0000BB">runtime_error</span><span style="color: #007700">(</span><span style="color: #DD0000">"Impossibile&nbsp;dividere&nbsp;per&nbsp;0\n"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{}<br />};<br /><br /><br /></span><span style="color: #FF8000">/////////////&nbsp;termiante&nbsp;and&nbsp;unexpected&nbsp;functions<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;terminate_function</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"terminate_function"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">void&nbsp;unexpected_function</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"unexpected_function"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />}<br /><br /><br /><br /></span><span style="color: #FF8000">//////////////&nbsp;the&nbsp;function&nbsp;called&nbsp;to&nbsp;throw&nbsp;excpetion<br /><br /></span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">function()&nbsp;throw(){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;</span><span style="color: #0000BB">DivideForZeroException</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(</span><span style="color: #0000BB">DivideForZeroException&nbsp;&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">error</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">set_terminate</span><span style="color: #007700">(</span><span style="color: #0000BB">terminate_function</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">set_unexpected</span><span style="color: #007700">(</span><span style="color: #0000BB">unexpected_function</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;::function();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/416-throw-exceptions-unexpected-and-terminate-functions</guid>
		</item>
		<item>
			<title>Manipulate class private member with externals functions and operators overload</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/408-manipulate-class-private-member-with-externals-functions-and-operators-overload</link>
			<pubDate>Sun, 29 Sep 2013 13:23:29 GMT</pubDate>
			<description>// 
//  main.cpp 
//  Test 
// 
//  Created by Giovanni Di Grezia on 22/07/13. 
//  Copyright (c) 2013 Giovanni Di Grezia. All rights reserved. 
//...</description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">//<br />//&nbsp;&nbsp;main.cpp<br />//&nbsp;&nbsp;Test<br />//<br />//&nbsp;&nbsp;Created&nbsp;by&nbsp;Giovanni&nbsp;Di&nbsp;Grezia&nbsp;on&nbsp;22/07/13.<br />//&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;2013&nbsp;Giovanni&nbsp;Di&nbsp;Grezia.&nbsp;All&nbsp;rights&nbsp;reserved.<br />//<br />//<br />//<br />//<br /><br /><br />//&nbsp;pass&nbsp;an&nbsp;external&nbsp;function&nbsp;to&nbsp;a&nbsp;class&nbsp;acting&nbsp;on&nbsp;a&nbsp;private&nbsp;member<br /><br />#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br />#include&nbsp;&lt;exception&gt;<br />#include&nbsp;&lt;cmath&gt;<br />#include&nbsp;&lt;iomanip&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /><br /></span><span style="color: #FF8000">///////////////&nbsp;external&nbsp;function<br /></span><span style="color: #0000BB">int&nbsp;magia_su_numero&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;input</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">input&nbsp;</span><span style="color: #007700">*</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br /><br />}<br /><br /><br /></span><span style="color: #FF8000">/////////////////////&nbsp;test&nbsp;class<br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">test</span><span style="color: #007700">{<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">test</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;input&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">numero</span><span style="color: #007700">(</span><span style="color: #0000BB">input</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">template&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">typename&nbsp;A</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">A&nbsp;do_funct&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">A&nbsp;passed_function</span><span style="color: #007700">(</span><span style="color: #0000BB">A</span><span style="color: #007700">)&nbsp;){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">passed_function</span><span style="color: #007700">(</span><span style="color: #0000BB">numero</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />private:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;numero</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />};<br /><br /></span><span style="color: #FF8000">///////////////&nbsp;overloaded&nbsp;operator&nbsp;&gt;&gt;<br /><br /></span><span style="color: #0000BB">int&nbsp;operator</span><span style="color: #007700">&gt;&gt;&nbsp;(</span><span style="color: #0000BB">int&nbsp;funct_to_pass&nbsp;</span><span style="color: #007700">(int&nbsp;),&nbsp;</span><span style="color: #0000BB">test&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">target</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(&nbsp;</span><span style="color: #0000BB">target</span><span style="color: #007700">.</span><span style="color: #0000BB">do_funct</span><span style="color: #007700">(</span><span style="color: #0000BB">funct_to_pass</span><span style="color: #007700">)&nbsp;&nbsp;);<br /><br />}<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">test&nbsp;obj</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;(</span><span style="color: #0000BB">magia_su_numero&nbsp;</span><span style="color: #007700">&gt;&gt;&nbsp;</span><span style="color: #0000BB">obj</span><span style="color: #007700">)&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/408-manipulate-class-private-member-with-externals-functions-and-operators-overload</guid>
		</item>
		<item>
			<title>Nonformatted iostream</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/404-nonformatted-iostream</link>
			<pubDate>Tue, 24 Sep 2013 20:00:40 GMT</pubDate>
			<description>// 
//  main.cpp 
//  Test 
// 
//  Created by Giovanni Di Grezia on 22/07/13. 
//  Copyright (c) 2013 Giovanni Di Grezia. All rights reserved. 
//...</description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">//<br />//&nbsp;&nbsp;main.cpp<br />//&nbsp;&nbsp;Test<br />//<br />//&nbsp;&nbsp;Created&nbsp;by&nbsp;Giovanni&nbsp;Di&nbsp;Grezia&nbsp;on&nbsp;22/07/13.<br />//&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;2013&nbsp;Giovanni&nbsp;Di&nbsp;Grezia.&nbsp;All&nbsp;rights&nbsp;reserved.<br />//<br />//<br />//<br />//<br /><br />#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br />#include&nbsp;&lt;exception&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">container&nbsp;</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">5</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">5</span><span style="color: #007700">;++</span><span style="color: #0000BB">i</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">container</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;new&nbsp;</span><span style="color: #0000BB">char&nbsp;</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">100</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cin</span><span style="color: #007700">.</span><span style="color: #0000BB">getline</span><span style="color: #007700">(&nbsp;*(</span><span style="color: #0000BB">container</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">),</span><span style="color: #0000BB">99&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout</span><span style="color: #007700">.</span><span style="color: #0000BB">write</span><span style="color: #007700">(*(</span><span style="color: #0000BB">container</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">),</span><span style="color: #0000BB">cin</span><span style="color: #007700">.</span><span style="color: #0000BB">gcount</span><span style="color: #007700">()&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/404-nonformatted-iostream</guid>
		</item>
		<item>
			<title>Abstract and Concrete Classes</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/397-abstract-and-concrete-classes</link>
			<pubDate>Thu, 12 Sep 2013 23:14:35 GMT</pubDate>
			<description>Example of a driver implementation 
Pre_driver is the abstract class 
Driver is the public derived concrete class. 
 
The functions read and write...</description>
			<content:encoded><![CDATA[Example of a driver implementation<br />
Pre_driver is the abstract class<br />
Driver is the public derived concrete class.<br />
<br />
The functions read and write are own implementations for each derived class that want to implement such operations.<br />
read and write are in facts pure virtual functions.<br />
<br />
The programmer can create a main source-code without knowing the implementation of write and read functions.<br />
<br />
pre_driver header<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">//<br />//&nbsp;&nbsp;pre_driver.h<br />//&nbsp;&nbsp;Test<br />//<br />//&nbsp;&nbsp;Created&nbsp;by&nbsp;Giovanni&nbsp;Di&nbsp;Grezia&nbsp;on&nbsp;12/09/13.<br />//&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;2013&nbsp;Giovanni&nbsp;Di&nbsp;Grezia.&nbsp;All&nbsp;rights&nbsp;reserved.<br />//<br /><br />#ifndef&nbsp;__Test__pre_driver__<br />#define&nbsp;__Test__pre_driver__<br /><br />#include&nbsp;&lt;iostream&gt;<br /><br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">pre_driver&nbsp;</span><span style="color: #007700">{<br /><br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pre_driver&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;data&nbsp;</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;constructor<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">~</span><span style="color: #0000BB">pre_driver&nbsp;</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;deconstructor<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;void&nbsp;write&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;data</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;value</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;abstract&nbsp;function&nbsp;to&nbsp;overload<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;void&nbsp;read&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;data</span><span style="color: #007700">)=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;abstract&nbsp;function&nbsp;to&nbsp;overload<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">protected:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">base_pointer</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />};<br /><br /><br /></span><span style="color: #FF8000">#endif&nbsp;/*&nbsp;defined(__Test__pre_driver__)&nbsp;*/&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>pre_driver cpp<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">//<br />//&nbsp;&nbsp;pre_driver.cpp<br />//&nbsp;&nbsp;Test<br />//<br />//&nbsp;&nbsp;Created&nbsp;by&nbsp;Giovanni&nbsp;Di&nbsp;Grezia&nbsp;on&nbsp;12/09/13.<br />//&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;2013&nbsp;Giovanni&nbsp;Di&nbsp;Grezia.&nbsp;All&nbsp;rights&nbsp;reserved.<br />//<br /><br />#include&nbsp;"pre_driver.h"<br />#include&nbsp;&lt;exception&gt;<br />#include&nbsp;&lt;string&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//////&nbsp;constructor&nbsp;definition<br /></span><span style="color: #0000BB">pre_driver</span><span style="color: #007700">::</span><span style="color: #0000BB">pre_driver&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;data&nbsp;</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">data&nbsp;</span><span style="color: #007700">&lt;=</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;</span><span style="color: #0000BB">string</span><span style="color: #007700">(</span><span style="color: #DD0000">"Impossibile&nbsp;continuare"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">errore</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">errore&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl&nbsp;</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">size&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">data</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">base_pointer&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">data</span><span style="color: #007700">&#93;;<br /><br /><br />}<br /><br /><br /></span><span style="color: #FF8000">//////&nbsp;deconstructor&nbsp;definition<br /></span><span style="color: #0000BB">pre_driver</span><span style="color: #007700">::~</span><span style="color: #0000BB">pre_driver</span><span style="color: #007700">(){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">delete&nbsp;</span><span style="color: #007700">&#91;&#93;&nbsp;</span><span style="color: #0000BB">base_pointer</span><span style="color: #007700">;<br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>driver header<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">//<br />//&nbsp;&nbsp;driver.h<br />//&nbsp;&nbsp;Test<br />//<br />//&nbsp;&nbsp;Created&nbsp;by&nbsp;Giovanni&nbsp;Di&nbsp;Grezia&nbsp;on&nbsp;12/09/13.<br />//&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;2013&nbsp;Giovanni&nbsp;Di&nbsp;Grezia.&nbsp;All&nbsp;rights&nbsp;reserved.<br />//<br /><br />#ifndef&nbsp;__Test__driver__<br />#define&nbsp;__Test__driver__<br /><br />#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;"pre_driver.h"<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">driver&nbsp;</span><span style="color: #007700">:&nbsp;public&nbsp;</span><span style="color: #0000BB">pre_driver&nbsp;</span><span style="color: #007700">{<br /><br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">driver</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;data</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;void&nbsp;write&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;data</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;value</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">virtual&nbsp;void&nbsp;read&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">int&nbsp;data</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />};<br /><br /><br /></span><span style="color: #FF8000">#endif&nbsp;/*&nbsp;defined(__Test__driver__)&nbsp;*/&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>driver cpp<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">//<br />//&nbsp;&nbsp;driver.cpp<br />//&nbsp;&nbsp;Test<br />//<br />//&nbsp;&nbsp;Created&nbsp;by&nbsp;Giovanni&nbsp;Di&nbsp;Grezia&nbsp;on&nbsp;12/09/13.<br />//&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;2013&nbsp;Giovanni&nbsp;Di&nbsp;Grezia.&nbsp;All&nbsp;rights&nbsp;reserved.<br />//<br /><br />#include&nbsp;"driver.h"<br />#include&nbsp;&lt;string&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /><br /></span><span style="color: #0000BB">driver</span><span style="color: #007700">::</span><span style="color: #0000BB">driver&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;data</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">pre_driver</span><span style="color: #007700">(</span><span style="color: #0000BB">data</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{}<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;driver</span><span style="color: #007700">::</span><span style="color: #0000BB">read</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;data</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">data&nbsp;</span><span style="color: #007700">&gt;=&nbsp;</span><span style="color: #0000BB">size</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Errore"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;catch(</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">errore</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">errore&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;*(</span><span style="color: #0000BB">base_pointer&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">data</span><span style="color: #007700">)&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br /><br /><br /><br />}<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;driver</span><span style="color: #007700">::</span><span style="color: #0000BB">write</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;data</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;value</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">data&nbsp;</span><span style="color: #007700">&gt;=&nbsp;</span><span style="color: #0000BB">size</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Errore"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;catch(</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">errore</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">errore&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">base_pointer&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">data</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br /><br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>main sample<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">//<br />//&nbsp;&nbsp;main.cpp<br />//&nbsp;&nbsp;Test<br />//<br />//&nbsp;&nbsp;Created&nbsp;by&nbsp;Giovanni&nbsp;Di&nbsp;Grezia&nbsp;on&nbsp;22/07/13.<br />//&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;2013&nbsp;Giovanni&nbsp;Di&nbsp;Grezia.&nbsp;All&nbsp;rights&nbsp;reserved.<br />//<br />//<br />//<br />//<br /><br />#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br />#include&nbsp;&lt;exception&gt;<br /><br />#include&nbsp;"driver.h"<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">driver&nbsp;gino&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">10</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;create&nbsp;object&nbsp;with&nbsp;10&nbsp;slot<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">gino</span><span style="color: #007700">.</span><span style="color: #0000BB">write</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">1000</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;write&nbsp;1000&nbsp;to&nbsp;slot&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">gino</span><span style="color: #007700">.</span><span style="color: #0000BB">read</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;print&nbsp;content&nbsp;of&nbsp;slot&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">gino</span><span style="color: #007700">.</span><span style="color: #0000BB">write</span><span style="color: #007700">(</span><span style="color: #0000BB">5</span><span style="color: #007700">,</span><span style="color: #0000BB">2000</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;write&nbsp;2000&nbsp;to&nbsp;slot&nbsp;5<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">gino</span><span style="color: #007700">.</span><span style="color: #0000BB">read</span><span style="color: #007700">(</span><span style="color: #0000BB">5</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;read&nbsp;from&nbsp;slot&nbsp;5<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/397-abstract-and-concrete-classes</guid>
		</item>
		<item>
			<title>Array Class + operators overloading () and =</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/396-array-class-operators-overloading-and</link>
			<pubDate>Sat, 07 Sep 2013 02:27:15 GMT</pubDate>
			<description><![CDATA[#include &lt;iostream&gt; 
#include &lt;string&gt; 
#include &lt;exception&gt; 
 
using namespace std; 
 
class x_array { 
public: 
    ////////////////////////////...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"><br /></span><span style="color: #FF8000">#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br />#include&nbsp;&lt;exception&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br />class&nbsp;</span><span style="color: #0000BB">x_array&nbsp;</span><span style="color: #007700">{<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////////&nbsp;constructor&nbsp;for&nbsp;int<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">x_array&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;n&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">current_address</span><span style="color: #007700">(</span><span style="color: #0000BB">this</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">n</span><span style="color: #007700">&lt;=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Impossibile&nbsp;allocare&nbsp;byte&nbsp;richiesti"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(</span><span style="color: #0000BB">string&nbsp;error</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">error&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pointer&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">n</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(</span><span style="color: #0000BB">bad_alloc&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">error</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">error</span><span style="color: #007700">.</span><span style="color: #0000BB">what</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">size&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">n</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////&nbsp;constructor&nbsp;with&nbsp;copy<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">x_array&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">x_array&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">source</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">current_address</span><span style="color: #007700">(</span><span style="color: #0000BB">this</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">size&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">source</span><span style="color: #007700">.</span><span style="color: #0000BB">get_size</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">pointer&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">&#91;</span><span style="color: #0000BB">size</span><span style="color: #007700">&#93;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(</span><span style="color: #0000BB">bad_alloc&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">error</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">error</span><span style="color: #007700">.</span><span style="color: #0000BB">what</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">pointer</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;*(</span><span style="color: #0000BB">source</span><span style="color: #007700">.</span><span style="color: #0000BB">get_pointer</span><span style="color: #007700">()&nbsp;+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////////&nbsp;deconstructor<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">~</span><span style="color: #0000BB">x_array&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">delete</span><span style="color: #007700">&#91;&#93;&nbsp;</span><span style="color: #0000BB">pointer</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////&nbsp;other&nbsp;functions<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//////////////////////&nbsp;size&nbsp;of&nbsp;array<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;get_size</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">size</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////&nbsp;get&nbsp;address&nbsp;of&nbsp;the&nbsp;object<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">const&nbsp;</span><span style="color: #0000BB">x_array&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">get_address</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">current_address</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////&nbsp;get&nbsp;address&nbsp;of&nbsp;the&nbsp;allocated&nbsp;array<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">const&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">get_pointer</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">pointer</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////&nbsp;fill&nbsp;array<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;fill_array&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"Enter&nbsp;"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">size&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"&nbsp;values"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cin&nbsp;</span><span style="color: #007700">&gt;&gt;&nbsp;*(</span><span style="color: #0000BB">pointer&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//////////////////////&nbsp;print&nbsp;array<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;print_array</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"Size&nbsp;=&nbsp;"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">get_size</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">size&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++&nbsp;)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;*(</span><span style="color: #0000BB">pointer&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/////////////////////////////&nbsp;overload&nbsp;operators<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;///////////////overload&nbsp;=&nbsp;with&nbsp;truncate<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">x_array&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">operator</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">x_array&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">source</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">size&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">source</span><span style="color: #007700">.</span><span style="color: #0000BB">get_size</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">size</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">pointer</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;*(</span><span style="color: #0000BB">source</span><span style="color: #007700">.</span><span style="color: #0000BB">get_pointer</span><span style="color: #007700">()&nbsp;+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;common</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">size&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">source</span><span style="color: #007700">.</span><span style="color: #0000BB">get_size</span><span style="color: #007700">()){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">common&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">source</span><span style="color: #007700">.</span><span style="color: #0000BB">get_size</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">common</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">pointer</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;*(</span><span style="color: #0000BB">source</span><span style="color: #007700">.</span><span style="color: #0000BB">get_pointer</span><span style="color: #007700">()&nbsp;+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">common&nbsp;</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">size&nbsp;</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">pointer</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">common&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">size</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">common</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(</span><span style="color: #0000BB">pointer</span><span style="color: #007700">+</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;=&nbsp;*(</span><span style="color: #0000BB">source</span><span style="color: #007700">.</span><span style="color: #0000BB">get_pointer</span><span style="color: #007700">()&nbsp;+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;*</span><span style="color: #0000BB">this</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////////////////&nbsp;overload&nbsp;()&nbsp;=&nbsp;print&nbsp;integers&nbsp;between&nbsp;positions&nbsp;specified<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;operator</span><span style="color: #007700">()&nbsp;&nbsp;(</span><span style="color: #0000BB">int&nbsp;begin</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;end</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;total&nbsp;</span><span style="color: #007700">=&nbsp;(&nbsp;</span><span style="color: #0000BB">end&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">begin</span><span style="color: #007700">)&nbsp;+</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">int&nbsp;i</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">total</span><span style="color: #007700">;</span><span style="color: #0000BB">i</span><span style="color: #007700">++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;(*(</span><span style="color: #0000BB">pointer</span><span style="color: #007700">+(</span><span style="color: #0000BB">begin&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)))&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />private:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;size</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">pointer</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">x_array&nbsp;</span><span style="color: #007700">*&nbsp;const&nbsp;</span><span style="color: #0000BB">current_address</span><span style="color: #007700">;<br /><br /><br />};<br /><br /><br /></span><span style="color: #FF8000">/////////////////////////////////&nbsp;non-member&nbsp;operators&nbsp;overload<br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">x_array&nbsp;obj1</span><span style="color: #007700">(</span><span style="color: #0000BB">5</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;create&nbsp;an&nbsp;object&nbsp;with&nbsp;5&nbsp;elements&nbsp;of&nbsp;type&nbsp;int<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">obj1</span><span style="color: #007700">.</span><span style="color: #0000BB">fill_array</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;fill&nbsp;the&nbsp;object&nbsp;array&nbsp;with&nbsp;user&nbsp;input<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">obj1</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">3</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;print&nbsp;int&nbsp;between&nbsp;the&nbsp;1&nbsp;and&nbsp;3&nbsp;(array&nbsp;indexes)<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">x_array&nbsp;obj2</span><span style="color: #007700">(</span><span style="color: #0000BB">3</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">obj2</span><span style="color: #007700">.</span><span style="color: #0000BB">fill_array</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">obj1</span><span style="color: #007700">=</span><span style="color: #0000BB">obj2</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;copy&nbsp;ints&nbsp;from&nbsp;onj2&nbsp;to&nbsp;obj1.&nbsp;obj1&nbsp;is&nbsp;bigger&nbsp;so&nbsp;latest&nbsp;entries&nbsp;will&nbsp;be&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">obj1</span><span style="color: #007700">.</span><span style="color: #0000BB">print_array</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;print&nbsp;onj1&nbsp;after&nbsp;the&nbsp;copy<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/396-array-class-operators-overloading-and</guid>
		</item>
		<item>
			<title><![CDATA[Overloading ++ and &amp;lt;&amp;lt; &amp;gt;&amp;gt; istream and ostream]]></title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/392-overloading-and-istream-and-ostream</link>
			<pubDate>Wed, 04 Sep 2013 03:46:21 GMT</pubDate>
			<description><![CDATA[#include &lt;iostream&gt; 
#include &lt;string&gt; 
 
using namespace std; 
 
 
class persona { 
 
public: 
    persona (const string in_nome = &quot;null&quot;, const...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /><br />class&nbsp;</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">{<br /><br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">string&nbsp;in_nome&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"null"</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;in_cognome&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"null"</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">int&nbsp;in_eta&nbsp;</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">nome</span><span style="color: #007700">(</span><span style="color: #0000BB">in_nome</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">(</span><span style="color: #0000BB">in_cognome</span><span style="color: #007700">),</span><span style="color: #0000BB">eta</span><span style="color: #007700">(</span><span style="color: #0000BB">in_eta</span><span style="color: #007700">){}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;print_nome&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">nome&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;print_cognome&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">cognome&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;print_eta&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">eta&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">get_nome&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">nome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">get_cognome&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">get_eta&nbsp;</span><span style="color: #007700">()&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">eta</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;add_eta&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;value</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">eta</span><span style="color: #007700">+=</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />private:<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;nome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;cognome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;eta</span><span style="color: #007700">;<br /><br />};<br /><br /><br /></span><span style="color: #0000BB">persona&nbsp;operator</span><span style="color: #007700">++(</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;value</span><span style="color: #007700">){&nbsp;</span><span style="color: #FF8000">//&nbsp;postfix<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">persona&nbsp;old</span><span style="color: #007700">(</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">.</span><span style="color: #0000BB">add_eta</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">old</span><span style="color: #007700">;<br /><br />}<br /><br /></span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">operator</span><span style="color: #007700">++(</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">){&nbsp;</span><span style="color: #FF8000">/////////&nbsp;prefix<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">.</span><span style="color: #0000BB">add_eta</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /><br /></span><span style="color: #0000BB">ostream&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">operator</span><span style="color: #007700">&lt;&lt;&nbsp;(</span><span style="color: #0000BB">ostream&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">out</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">out&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">.</span><span style="color: #0000BB">get_eta</span><span style="color: #007700">();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">out</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">istream&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">operator</span><span style="color: #007700">&gt;&gt;&nbsp;(</span><span style="color: #0000BB">istream&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;tmp</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">in&nbsp;</span><span style="color: #007700">&gt;&gt;&nbsp;</span><span style="color: #0000BB">tmp</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">.</span><span style="color: #0000BB">add_eta</span><span style="color: #007700">(</span><span style="color: #0000BB">tmp</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">in</span><span style="color: #007700">;<br />}<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">persona&nbsp;obj1</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;create&nbsp;object<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;(</span><span style="color: #0000BB">obj1</span><span style="color: #007700">++).</span><span style="color: #0000BB">get_eta</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;increment&nbsp;but&nbsp;return&nbsp;old&nbsp;value&nbsp;-&nbsp;postfix<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;(</span><span style="color: #0000BB">obj1</span><span style="color: #007700">).</span><span style="color: #0000BB">get_eta</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;new&nbsp;value&nbsp;avaible&nbsp;now&nbsp;-&nbsp;postfix<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;(++</span><span style="color: #0000BB">obj1</span><span style="color: #007700">).</span><span style="color: #0000BB">get_eta</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;new&nbsp;value&nbsp;avaible&nbsp;immediately&nbsp;-&nbsp;prefix<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;/////&nbsp;testing&nbsp;&lt;&lt;&nbsp;overloading<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">obj1&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">///&nbsp;tesing&nbsp;&gt;&gt;&nbsp;overloading<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cin&nbsp;</span><span style="color: #007700">&gt;&gt;&nbsp;</span><span style="color: #0000BB">obj1&nbsp;</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">obj1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/392-overloading-and-istream-and-ostream</guid>
		</item>
		<item>
			<title>Prefix and postfix Overloading in Classes</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/391-prefix-and-postfix-overloading-in-classes</link>
			<pubDate>Wed, 04 Sep 2013 03:28:57 GMT</pubDate>
			<description><![CDATA[#include &lt;iostream&gt; 
#include &lt;string&gt; 
 
using namespace std; 
 
 
class persona { 
 
public: 
    persona (const string in_nome = &quot;null&quot;, const...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /><br />class&nbsp;</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">{<br /><br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">string&nbsp;in_nome&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"null"</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;in_cognome&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"null"</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">int&nbsp;in_eta&nbsp;</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">nome</span><span style="color: #007700">(</span><span style="color: #0000BB">in_nome</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">(</span><span style="color: #0000BB">in_cognome</span><span style="color: #007700">),</span><span style="color: #0000BB">eta</span><span style="color: #007700">(</span><span style="color: #0000BB">in_eta</span><span style="color: #007700">){}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;print_nome&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">nome&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;print_cognome&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">cognome&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;print_eta&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">eta&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">get_nome&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">nome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">get_cognome&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">get_eta&nbsp;</span><span style="color: #007700">()&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">eta</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;add_eta&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;value</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">eta</span><span style="color: #007700">+=</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />private:<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;nome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;cognome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;eta</span><span style="color: #007700">;<br /><br />};<br /><br /><br /></span><span style="color: #0000BB">persona&nbsp;operator</span><span style="color: #007700">++(</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;value</span><span style="color: #007700">){&nbsp;</span><span style="color: #FF8000">//&nbsp;postfix<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">persona&nbsp;old</span><span style="color: #007700">(</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">.</span><span style="color: #0000BB">add_eta</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">old</span><span style="color: #007700">;<br /><br />}<br /><br /></span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">operator</span><span style="color: #007700">++(</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">){&nbsp;</span><span style="color: #FF8000">/////////&nbsp;prefix<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">.</span><span style="color: #0000BB">add_eta</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">oggetto</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">persona&nbsp;obj1</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;create&nbsp;object<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;(</span><span style="color: #0000BB">obj1</span><span style="color: #007700">++).</span><span style="color: #0000BB">get_eta</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;increment&nbsp;but&nbsp;return&nbsp;old&nbsp;value&nbsp;-&nbsp;postfix<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;(</span><span style="color: #0000BB">obj1</span><span style="color: #007700">).</span><span style="color: #0000BB">get_eta</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;new&nbsp;value&nbsp;avaible&nbsp;now&nbsp;-&nbsp;postfix<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;(++</span><span style="color: #0000BB">obj1</span><span style="color: #007700">).</span><span style="color: #0000BB">get_eta</span><span style="color: #007700">()&nbsp;&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;new&nbsp;value&nbsp;avaible&nbsp;immediately&nbsp;-&nbsp;prefix<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/391-prefix-and-postfix-overloading-in-classes</guid>
		</item>
		<item>
			<title>Operator Overloading</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/390-operator-overloading</link>
			<pubDate>Wed, 04 Sep 2013 01:14:38 GMT</pubDate>
			<description><![CDATA[#include &lt;iostream&gt; 
#include &lt;string&gt; 
 
using namespace std; 
 
 
class persona { 
 
public: 
    persona (const string in_nome = &quot;null&quot;, const...]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /><br />class&nbsp;</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">{<br /><br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">string&nbsp;in_nome&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"null"</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;in_cognome&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"null"</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">int&nbsp;in_eta&nbsp;</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">nome</span><span style="color: #007700">(</span><span style="color: #0000BB">in_nome</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">(</span><span style="color: #0000BB">in_cognome</span><span style="color: #007700">),</span><span style="color: #0000BB">eta</span><span style="color: #007700">(</span><span style="color: #0000BB">in_eta</span><span style="color: #007700">){}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;print_nome&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">nome&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;print_cognome&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">cognome&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;print_eta&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">eta&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">get_nome&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">nome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">get_cognome&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">cognome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">get_eta&nbsp;</span><span style="color: #007700">()&nbsp;const&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">eta</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />private:<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;nome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">string&nbsp;cognome</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">int&nbsp;eta</span><span style="color: #007700">;<br /><br />};<br /><br /></span><span style="color: #0000BB">bool&nbsp;operator</span><span style="color: #007700">&lt;&nbsp;(</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">primo</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">secondo</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">primo</span><span style="color: #007700">.</span><span style="color: #0000BB">get_eta</span><span style="color: #007700">()&nbsp;&lt;&nbsp;</span><span style="color: #0000BB">secondo</span><span style="color: #007700">.</span><span style="color: #0000BB">get_eta</span><span style="color: #007700">())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br /><br />}<br /><br /></span><span style="color: #0000BB">bool&nbsp;operator</span><span style="color: #007700">&lt;&nbsp;(const&nbsp;</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">primo</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">persona&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">secondo</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">primo</span><span style="color: #007700">.</span><span style="color: #0000BB">get_eta</span><span style="color: #007700">()&nbsp;&lt;&nbsp;</span><span style="color: #0000BB">secondo</span><span style="color: #007700">.</span><span style="color: #0000BB">get_eta</span><span style="color: #007700">())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">persona&nbsp;mario&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"mario"</span><span style="color: #007700">,</span><span style="color: #DD0000">"marra"</span><span style="color: #007700">,</span><span style="color: #0000BB">23</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">persona&nbsp;franky&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"francesco"</span><span style="color: #007700">,</span><span style="color: #DD0000">"saccardo"</span><span style="color: #007700">,</span><span style="color: #0000BB">24</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">mario&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">franky</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"mario&nbsp;è&nbsp;piu&nbsp;giovane&nbsp;di&nbsp;franky"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/390-operator-overloading</guid>
		</item>
		<item>
			<title>Class: Static Variables</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/389-class-static-variables</link>
			<pubDate>Mon, 02 Sep 2013 23:32:52 GMT</pubDate>
			<description><![CDATA[#include &lt;iostream&gt; 
#include &lt;string&gt; 
 
using namespace std; 
 
 
 
class test {]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /><br /><br />class&nbsp;</span><span style="color: #0000BB">test&nbsp;</span><span style="color: #007700">{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;cannot&nbsp;initialize&nbsp;static&nbsp;variable&nbsp;in&nbsp;constructor<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">static&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">print&nbsp;(){&nbsp;</span><span style="color: #FF8000">//&nbsp;service&nbsp;function&nbsp;to&nbsp;print&nbsp;static&nbsp;variable<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;</span><span style="color: #0000BB">void&nbsp;set&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;value</span><span style="color: #007700">){&nbsp;</span><span style="color: #FF8000">//&nbsp;service&nbsp;function&nbsp;to&nbsp;set&nbsp;value&nbsp;into&nbsp;static&nbsp;variable<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />private:<br />&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;dclaration&nbsp;of&nbsp;static&nbsp;variable.&nbsp;No&nbsp;initialization<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">};<br /><br /></span><span style="color: #0000BB">int&nbsp;test</span><span style="color: #007700">::</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;initialize&nbsp;static&nbsp;variable&nbsp;in&nbsp;class&nbsp;test<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">////////////&nbsp;NO&nbsp;OBJECTS&nbsp;OF&nbsp;TYPE&nbsp;test<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">test</span><span style="color: #007700">::print();&nbsp;</span><span style="color: #FF8000">//&nbsp;the&nbsp;service&nbsp;function&nbsp;print&nbsp;the&nbsp;STATIC&nbsp;variable&nbsp;a<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">test</span><span style="color: #007700">::</span><span style="color: #0000BB">set</span><span style="color: #007700">(</span><span style="color: #0000BB">10</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;the&nbsp;service&nbsp;function&nbsp;set&nbsp;the&nbsp;variable&nbsp;a&nbsp;without&nbsp;objects<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">test</span><span style="color: #007700">::print();&nbsp;</span><span style="color: #FF8000">//&nbsp;the&nbsp;service&nbsp;function&nbsp;reprint&nbsp;the&nbsp;changed&nbsp;static&nbsp;variable&nbsp;a<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/389-class-static-variables</guid>
		</item>
		<item>
			<title>Class Best Friend</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/388-class-best-friend</link>
			<pubDate>Mon, 02 Sep 2013 23:22:58 GMT</pubDate>
			<description><![CDATA[#include &lt;iostream&gt; 
#include &lt;string&gt; 
 
using namespace std; 
 
 
 
class test { 
 
    friend void modify (test * ptr, int b);]]></description>
			<content:encoded><![CDATA[
<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /><br /><br />class&nbsp;</span><span style="color: #0000BB">test&nbsp;</span><span style="color: #007700">{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">friend&nbsp;void&nbsp;modify&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">test&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">ptr</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;b</span><span style="color: #007700">);<br />public:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">test&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;ain</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;bin&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;cin</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;:</span><span style="color: #0000BB">a</span><span style="color: #007700">(</span><span style="color: #0000BB">ain</span><span style="color: #007700">),</span><span style="color: #0000BB">b</span><span style="color: #007700">(</span><span style="color: #0000BB">bin</span><span style="color: #007700">),</span><span style="color: #0000BB">c</span><span style="color: #007700">(</span><span style="color: #0000BB">cin</span><span style="color: #007700">){}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">print&nbsp;(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">a&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">b&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">c&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />private:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">b</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">c</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />};<br /><br /><br /></span><span style="color: #0000BB">void&nbsp;modify&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">test&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">ptr</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;value</span><span style="color: #007700">){<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ptr</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">a</span><span style="color: #007700">=</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ptr</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">b</span><span style="color: #007700">=</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ptr</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">c</span><span style="color: #007700">=</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br /><br />}<br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">test&nbsp;obj</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">obj</span><span style="color: #007700">.print();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">modify</span><span style="color: #007700">(&amp;</span><span style="color: #0000BB">obj</span><span style="color: #007700">,</span><span style="color: #0000BB">50</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">obj</span><span style="color: #007700">.print();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/388-class-best-friend</guid>
		</item>
		<item>
			<title>Hiding class private member to client using a proxy class</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/387-hiding-class-private-member-to-client-using-a-proxy-class</link>
			<pubDate>Mon, 02 Sep 2013 22:57:17 GMT</pubDate>
			<description><![CDATA[main.cpp 
 
 
#include &lt;iostream&gt; 
#include &lt;string&gt; 
#include &quot;class_interface.h&quot; 
 
using namespace std;]]></description>
			<content:encoded><![CDATA[main.cpp<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#include&nbsp;&lt;iostream&gt;<br />#include&nbsp;&lt;string&gt;<br />#include&nbsp;"class_interface.h"<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /><br /><br /></span><span style="color: #0000BB">int&nbsp;main&nbsp;</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;interface&nbsp;</span><span style="color: #0000BB">obj</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;create&nbsp;an&nbsp;interface&nbsp;object;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">obj</span><span style="color: #007700">.print();&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;print&nbsp;memebers&nbsp;data;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>class_interface.h<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">&nbsp;</span><span style="color: #FF8000">#ifndef&nbsp;Test_class_interface_h<br />#define&nbsp;Test_class_interface_h<br /><br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">implementation</span><span style="color: #007700">;<br />class&nbsp;interface&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />public:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;interface&nbsp;(</span><span style="color: #0000BB">int&nbsp;a&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;b&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">print();<br /><br />private:<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">implementation&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">ptr</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />};<br /><br /><br /><br /></span><span style="color: #FF8000">#endif&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>class_interface.cpp<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">&nbsp;&nbsp;</span><span style="color: #FF8000">#include&nbsp;"class_interface.h"<br />#include&nbsp;&lt;iostream&gt;<br /><br /></span><span style="color: #0000BB">using&nbsp;</span><span style="color: #007700">namespace&nbsp;</span><span style="color: #0000BB">std</span><span style="color: #007700">;<br /><br /><br /></span><span style="color: #FF8000">//////////////////////////////&nbsp;implementation<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">implementation&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;public:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">implementation</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;a&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;b&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</span><span style="color: #0000BB">var1</span><span style="color: #007700">(</span><span style="color: #0000BB">a</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">var2</span><span style="color: #007700">(</span><span style="color: #0000BB">b</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">print(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">var1&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">var2&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;private:<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">int&nbsp;var1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;</span><span style="color: #0000BB">int&nbsp;var2</span><span style="color: #007700">;<br /><br />};<br /><br /><br /></span><span style="color: #FF8000">///////////////////////////////&nbsp;interface<br /><br /></span><span style="color: #007700">interface::interface(</span><span style="color: #0000BB">int&nbsp;a</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;b</span><span style="color: #007700">)<br />:&nbsp;</span><span style="color: #0000BB">ptr</span><span style="color: #007700">(new&nbsp;</span><span style="color: #0000BB">implementation</span><span style="color: #007700">(</span><span style="color: #0000BB">a</span><span style="color: #007700">,</span><span style="color: #0000BB">b</span><span style="color: #007700">)){}<br /><br /></span><span style="color: #0000BB">void&nbsp;</span><span style="color: #007700">interface::print(){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ptr</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">print</span><span style="color: #007700">();<br /><br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/387-hiding-class-private-member-to-client-using-a-proxy-class</guid>
		</item>
		<item>
			<title>Hanoi Tower</title>
			<link>https://www.xgiovio.com/forum/forum/programming/c-plus-plus/385-hanoi-tower</link>
			<pubDate>Mon, 19 Aug 2013 15:34:11 GMT</pubDate>
			<description>Semplice esercizio in c++ per dimostrare il comportamento ricorsivo di un algoritmo per risolvere la torre di hanoi nel minor numero possibile di...</description>
			<content:encoded><![CDATA[Semplice esercizio in c++ per dimostrare il comportamento ricorsivo di un algoritmo per risolvere la torre di hanoi nel minor numero possibile di mosse.<br />

<div class="bbcode_container">
	<div class="bbcode_description">PHP Code:</div>
	
	<div class="bbcode_code" style="max-height:calc(2147483647 *  + 12px + 20px);"><code><span style="color: #000000">
<span style="color: #0000BB">&nbsp;</span><span style="color: #FF8000">//<br />&nbsp;&nbsp;//&nbsp;&nbsp;main.cpp<br />&nbsp;&nbsp;//&nbsp;&nbsp;Test<br />&nbsp;&nbsp;//<br />&nbsp;&nbsp;//&nbsp;&nbsp;Created&nbsp;by&nbsp;Giovanni&nbsp;Di&nbsp;Grezia&nbsp;on&nbsp;22/07/13.<br />&nbsp;&nbsp;//&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;2013&nbsp;Giovanni&nbsp;Di&nbsp;Grezia.&nbsp;All&nbsp;rights&nbsp;reserved.<br />&nbsp;&nbsp;//<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;#include&nbsp;&lt;iostream&gt;<br />&nbsp;&nbsp;#include&nbsp;&lt;string&gt;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">usingnamespacestd</span><span style="color: #007700">;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;hanoi&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;blocks</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;orig</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;dest</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;support</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">counter</span><span style="color: #007700">);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;main</span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;disks</span><span style="color: #007700">;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"Enter&nbsp;the&nbsp;number&nbsp;of&nbsp;disks"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cin&nbsp;</span><span style="color: #007700">&gt;&gt;&nbsp;</span><span style="color: #0000BB">disks</span><span style="color: #007700">;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">int&nbsp;counter&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hanoi</span><span style="color: #007700">(</span><span style="color: #0000BB">disks</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">counter</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"Completed&nbsp;in&nbsp;"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">counter&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"&nbsp;passes"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000BB">void&nbsp;hanoi&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">int&nbsp;blocks</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;orig</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;dest</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;support</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">int&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">counter</span><span style="color: #007700">){<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">blocks&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"Move&nbsp;from&nbsp;"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">orig&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"&nbsp;to&nbsp;"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">dest&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*</span><span style="color: #0000BB">counter</span><span style="color: #007700">)++&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hanoi</span><span style="color: #007700">(</span><span style="color: #0000BB">blocks&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">orig</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">support</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">dest</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">counter</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cout&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"Move&nbsp;from&nbsp;"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">orig&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #DD0000">"&nbsp;to&nbsp;"&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">dest&nbsp;</span><span style="color: #007700">&lt;&lt;&nbsp;</span><span style="color: #0000BB">endl</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*</span><span style="color: #0000BB">counter</span><span style="color: #007700">)++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hanoi</span><span style="color: #007700">(</span><span style="color: #0000BB">blocks&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">support</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">dest</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">orig</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">counter</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></div>
</div>]]></content:encoded>
			<category domain="https://www.xgiovio.com/forum/forum/programming/c-plus-plus">C ++</category>
			<dc:creator>xgiovio</dc:creator>
			<guid isPermaLink="true">https://www.xgiovio.com/forum/forum/programming/c-plus-plus/385-hanoi-tower</guid>
		</item>
	</channel>
</rss>
