国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

17 - 05 - 14 C++初窺

2019-11-14 13:06:02
字體:
來源:轉載
供稿:網友

C++作用域運算符 :

“ ::”主要有2種應用方式。

其一,類與類的成員之間

聲明一個類A,類A里聲明了一個成員函數void f( ),但沒有在類的聲明里給出f的定義,

那么在類外定義f時,就要寫成void A::f( ),表示這個f( )函數是類A的成員函數。

 其二,作用域。

簡單分為:全局作用域,局部作用域,語句作用域

作用域優先級:范圍越小優先級越高

作用域運算符:"::"

如果希望在局部變量的作用域內使用同名的全局變量,可以在該變量前加上"::","::"稱為作用域運算符.

### 構造函數

構造函數是成員函數的一種,名字 與 類 的名字相同,可以有參數,但是不能有返回值(void也不行)。

其作用是對 對象進行初始化,比如給成員對象賦初始值。

若定義類 時沒有寫構造函數,則編譯器自動生成一個默認的無參的構造函數。

(默認構造函數沒有參數,不做任何操作)。

對象生成時,構造函數自動被調用,對象一旦生成,就再也不能在其上執行構造函數。

一個類可以有多個構造函數。

# 為什么需要構造函數?

其執行了必要的初始化操作,不必專門再寫初始化函數,亦不必擔心忘記書寫初始化函數。

什么是構造函數?通俗的講,在類中,函數名 和 類名 相同的函數稱為構造函數。

它的作用是在建立一個對象時,作某些初始化的工作(例如對數據賦予初值),

(僅僅負責創建對象而不做任何賦值操作..疑問?)在一個類中可以有多個構造函數。

如果一個都沒有,編譯器將為該類產生一個默認的構造函數。

構造函數惟一的語法限制是 它不能指定 返回類型,甚至void 也不行。

不帶參數的構造函數 一般形式為

         類名 對象名( )   {  函數體  }

帶參數的構造函數:不帶參數的構造函數,只能以固定不變的值初始化對象。

帶參數構造函數的初始化要靈活的多,通過傳遞給 構造函數 的參數,可以賦予對象 不同的初始值。

一般形式為:構造函數名(形參表);

創建對象使用時:類名 對象名(實參表);

構造函數參數的初始值:構造函數的參數可以有缺省值。

當定義對象時,如果不給出參數,就自動把相應的缺省參數值賦給對象。一般形式為:

構造函數名(參數=缺省值,參數=缺省值,……);析構函數:

當一個類的對象離開作用域時,析構函數將被調用(系統自動調用)。

析構函數的名字和類名一樣,不過要在前面加上 ~ 。對一個類來說,只能允許一個析構函數,析構函數不能有參數,

并且也沒有返回值。析構函數的作用是完成一個清理工作,如釋放從堆中分配的內存。

一個類中可以有多個構造函數,但析構函數只能有一個。對象被析構的順序,與其建立時的順序相反,

即后構造的對象先析構。

 

析構函數(destructor) 與構造函數相反,當對象脫離其作用域時(例如對象所在的函數已調用完畢),

系統自動執行析構函數。析構函數往往用來做“清理善后”工作(例如在建立對象時用new開辟了一片內存空間,

應在退出前在析構函數中用delete釋放)  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金山区| 拜泉县| 华容县| 沙雅县| 广南县| 汶川县| 大方县| 报价| 桓台县| 波密县| 武安市| 长沙县| 桂平市| 会东县| 巴南区| 阳东县| 老河口市| 阳山县| 锦州市| 阳谷县| 武义县| 涞源县| 山东省| 龙山县| 西青区| 珠海市| 玉溪市| 西贡区| 安新县| 寿宁县| 巴彦淖尔市| 无极县| 崇文区| 霍州市| 桦南县| 西安市| 迁西县| 维西| 右玉县| 平定县| 阜新|