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

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

17 - 05 - 14 C++初窺

2019-11-14 11:54:30
字體:
來源:轉載
供稿:網友

C++作用域運算符 :

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

其一,類與類的成員之間

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

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

 其二,作用域。

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

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

作用域運算符:"::"

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

### 構造函數

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

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

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

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

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

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

# 為什么需要構造函數?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

即后構造的對象先析構。

 

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

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桂阳县| 康定县| 濮阳县| 新乐市| 合阳县| 贡觉县| 蓬莱市| 商都县| 高青县| 水城县| 黔南| 华阴市| 栖霞市| 通河县| 通许县| 岚皋县| 江达县| 临邑县| 两当县| 突泉县| 绥棱县| 嘉定区| 来安县| 新巴尔虎左旗| 右玉县| 乐陵市| 常熟市| 措勤县| 屯留县| 如皋市| 长海县| 长宁区| 偃师市| 如东县| 广河县| 漠河县| 澎湖县| 塔河县| 镇江市| 阳山县| 松潘县|