天天看點

c++構造函數

1、基本定義與相關判斷:

<a href="https://s4.51cto.com/wyfs02/M01/05/DE/wKiom1mt6tqjHK8ZAABMsZA2xBo667.png" target="_blank"></a>

一個類可以沒有預設構造函數,有别的構造函數也是可以的

2、

<a href="https://s4.51cto.com/wyfs02/M00/A4/8F/wKioL1mt7J2A2VPrAAGUAXOfu0A985.png" target="_blank"></a>

3、析構函數

<a href="https://s5.51cto.com/wyfs02/M01/A4/8F/wKioL1mt7vSycrGuAAFZoqG1k1U420.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M02/A4/8F/wKioL1mt76nzGgOAAAJJGUzLWMk434.png" target="_blank"></a>

3、執行個體程式:

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

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

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

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

<code>/**</code>

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

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

<code> </code><code>* 無參構造函數:Student()</code>

<code> </code><code>* 有參構造函數:Student(string _name)</code>

<code> </code><code>* 拷貝構造函數:Student(const Student&amp; stu)</code>

<code> </code><code>* 析構函數:~Student()</code>

<code> </code><code>* 資料成員函數:setName(string _name)、getName()</code>

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

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

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

<code>    </code><code>Student(){</code>

<code>        </code><code>m_strName=</code><code>""</code><code>;</code>

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

<code>    </code><code>Student (string _name){</code>

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

<code>    </code><code>Student(</code><code>const</code> <code>Student &amp; stu){</code>

<code>    </code><code>};</code><code>//構造函數</code>

<code>    </code><code>~Student(){};</code><code>//析構函數</code>

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

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

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

<code>    </code><code>string m_strName;</code>

<code>};</code>

<code>void</code> <code>Student::setName(string _name){</code>

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

<code>}</code>

<code>void</code> <code>Student::getName(){</code>

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

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

<code>{</code>

<code>    </code><code>Student *stu=</code><code>new</code> <code>Student;</code>

<code>    </code><code>stu-&gt;setName(</code><code>"你好"</code><code>);</code>

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

<code>    </code><code>delete</code> <code>stu;</code>

<code>    </code><code>stu=NULL;</code>

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

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

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

繼續閱讀