天天看點

C++資料的封裝

1、

<code>#include &lt;iostream&gt;</code>

<code>#include&lt;stdlib.h&gt;</code>

<code>#include &lt;string&gt;</code>

<code>using</code> <code>namespace</code> <code>std;</code>

<code>class</code> <code>student</code>

<code>{</code>

<code>public</code><code>:</code><code>//以下函數功能是對各個公用的參數要實作的功能進行封裝</code>

<code>    </code><code>void</code> <code>setName(string _name)</code>

<code>    </code><code>{</code>

<code>        </code><code>m_strName=_name;</code>

<code>    </code><code>}</code>

<code>    </code><code>string getName()</code>

<code>        </code><code>return</code> <code>m_strName;</code>

<code>    </code><code>void</code> <code>setGender(string _gender)</code>

<code>m_strGender=_gender;</code>

<code>    </code><code>string getGender()</code>

<code>        </code><code>return</code> <code>m_strGender;</code>

<code>    </code><code>int</code> <code>getScore()</code><code>//此處設定要求為score為隻讀,是以隻有get</code>

<code>        </code><code>return</code> <code>m_iScore;</code>

<code>    </code><code>void</code> <code>initScore()</code>

<code>        </code><code>m_iScore=0;</code>

<code>    </code><code>void</code> <code>study(</code><code>int</code> <code>_score)</code>

<code>        </code><code>m_iScore+=_score;</code><code>//</code>

<code>private</code><code>:</code>

<code>    </code><code>string m_strName;</code><code>//定義資料成員,注意以後變量設定是的格式</code>

<code>    </code><code>string m_strGender;</code>

<code>    </code><code>int</code> <code>m_iScore;</code>

<code>    </code> 

<code>    </code><code>};</code>

<code>int</code> <code>main()</code>

<code>    </code><code>student stu;</code><code>//Student對象stu</code>

<code>    </code><code>stu.initScore();</code><code>//初始化init</code>

<code>    </code><code>stu.setName(</code><code>"zl"</code><code>);</code>

<code>    </code><code>stu.setGender(</code><code>"女"</code><code>);</code>

<code>    </code><code>stu.study(3);</code>

<code>    </code><code>stu.study(4);</code>

<code>    </code><code>cout &lt;&lt; stu.getName() &lt;&lt; </code><code>" "</code> <code>&lt;&lt; stu.getGender()&lt;&lt;</code><code>" "</code><code>&lt;&lt;stu.getScore()&lt;&lt; endl;</code>

<code>    </code><code>system</code><code>(</code><code>"pause"</code><code>);</code>

<code>    </code><code>return</code> <code>0;</code>

<code>}</code>

運作結果:

<a href="https://s4.51cto.com/wyfs02/M00/05/B4/wKiom1mqJFei3VKqAAAFIw4Dk_o825.png-wh_500x0-wm_3-wmp_4-s_1810103498.png" target="_blank"></a>

2、

<code>/**</code>

<code>  </code><code>* 定義類:Student</code>

<code>  </code><code>* 資料成員:m_strName</code>

<code>  </code><code>* 資料成員的封裝函數:setName()、getName()</code>

<code>  </code><code>*/</code>

<code>class</code> <code>Student</code>

<code>public</code><code>:</code>

<code>    </code><code>// 定義資料成員封裝函數setName()</code>

<code>    </code><code>void</code> <code>setName(string str){</code>

<code>        </code><code>m_strName=str;</code>

<code>    </code><code>string getName(){</code>

<code>    </code><code>// 定義資料成員封裝函數getName()</code>

<code>//定義Student類私有資料成員m_strName</code>

<code>string m_strName;</code>

<code>};</code>

<code>    </code><code>// 使用new關鍵字,執行個體化對象</code>

<code>    </code><code>Student *str = </code><code>new</code> <code>Student();</code>

<code>    </code><code>// 設定對象的資料成員</code>

<code>    </code><code>str-&gt;setName(</code><code>"慕課網"</code><code>);</code>

<code>    </code><code>// 使用cout列印對象str的資料成員</code>

<code>    </code><code>cout&lt;&lt;str-&gt;getName()&lt;&lt;endl;</code>

<code>    </code><code>// 将對象str的記憶體釋放,并将其置空</code>

<code>    </code><code>delete</code> <code>str;</code>

<code>    </code><code>str=NULL;</code>

<a href="https://s5.51cto.com/wyfs02/M01/A4/6E/wKioL1mrVJiTJLDRAAAJCLHopTk112.png" target="_blank"></a>

本文轉自 lillian_trip 51CTO部落格,原文連結:http://blog.51cto.com/xiaoqiaoya/1962106,如需轉載請自行聯系原作者

繼續閱讀