自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

EasyC++,默認構造函數

開發(fā) 后端
C++當中有一個很奇怪的設定,當一個類我們沒有提供任何構造函數時,C++會默認賦予它一個默認構造函數。但當我們一旦實現了構造函數之后,C++則不會進行如此操作。

[[439804]]

大家好,我是梁唐。

默認構造函數

上一篇文章當中介紹的是顯式構造函數,也就是說我們需要傳入值來對類的成員變量進行初始化。

但也有一些情況,我們可能并不需要傳入值進行初始化,或者有一些其他的邏輯。針對這種情況,C++提供了默認構造函數的功能。所謂默認構造函數,也就是在沒有提供顯式的初始值時,用來創(chuàng)建對象的構造函數。

默認構造函數非常簡單,還是以之前的Stock類為例:

  1. Stock::Stock() { 
  2.  
  3. ... 
  4.  

如果默認構造函數里沒有任何邏輯,我們也可以把它寫在類聲明里:

  1. class Stock { 
  2.  
  3. ... 
  4.  
  5. Stock() {} 
  6.  
  7. }; 
  8.  
  9. #endif 

C++當中有一個很奇怪的設定,當一個類我們沒有提供任何構造函數時,C++會默認賦予它一個默認構造函數。但當我們一旦實現了構造函數之后,C++則不會進行如此操作。意味著對于定義了構造函數的類來說,想要使用默認構造函數,必須由程序員手動定義。

有了默認構造函數之后,我們才可以直接聲明類的實例:

  1. Stock stock1; 

如果Stock類沒有默認構造函數,那么上述的語句會報錯。

實現默認構造函數,除了上述那樣手動創(chuàng)建一個沒有任何參數的構造函數之外,還可以將已有的構造函數的所有參數都設置默認值。

  1. Stock(const string &co = "Error"int n = 0, double pr = 0.0); 

 

由于只能有一個默認構造函數,所以不要同時采用這兩種方式。

 

責任編輯:武曉燕 來源: Coder梁
相關推薦

2021-12-09 10:56:50

函數C++原型

2021-12-11 19:02:03

函數C++對象

2021-11-10 10:48:36

C++函數指針

2021-12-12 18:13:54

C++This指針

2021-12-29 20:31:40

C++多態(tài)指針

2021-11-26 00:03:20

C++編譯常量

2021-11-30 11:04:36

C++函數語言

2021-10-26 00:19:51

C++結構體存儲

2021-12-08 10:43:09

C++實現

2021-12-30 14:58:58

C++函數動態(tài)

2021-11-27 11:50:09

C++靜態(tài)持續(xù)

2021-11-09 10:38:16

C++Const指針

2021-12-15 10:25:57

C++運算符重載

2021-12-05 18:20:42

C++空間特性

2022-01-04 16:35:42

C++Protected關鍵字

2021-10-27 16:27:20

C++指針操控

2021-10-26 15:36:17

C++枚舉值類型

2021-12-16 10:40:11

C++運算符重載

2021-12-26 00:08:35

C++初始化列表

2021-10-31 20:24:24

C++for循環(huán)
點贊
收藏

51CTO技術棧公眾號