偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

EasyC++,成員初始化列表

開發(fā) 后端
除了可以使用構造函數(shù)對類成員進行初始化之外,C++還提供了另外一種初始化的方法,叫做成員初始化列表。

 [[442028]]

成員初始化列表

除了可以使用構造函數(shù)對類成員進行初始化之外,C++還提供了另外一種初始化的方法,叫做成員初始化列表。

我們假設Classy是一個類,而mem1,mem2和mem3都是這個類的數(shù)據(jù)成員,那么類構造函數(shù)可以寫成:

  1. Classy::Classy(int n, int m): mem1(n), mem2(0), mem3(n*m+2) { 
  2.     ... 
  3. }; 

上述代碼將mem1初始化為n,將mem2初始化為了0,mem3初始化成了n*m+2。這些初始化工作是對象創(chuàng)建是完成的,并且在執(zhí)行花括號中的內(nèi)容之前。

有這么幾點需要注意:

  • 這種格式只能用于構造函數(shù)
  • 必須用這種格式初始化非靜態(tài)const數(shù)據(jù)成員(C++11之前)
  • 必須用這種格式初始化引用數(shù)據(jù)成員

數(shù)據(jù)成員被初始化的順序和它們在類中定義的順序相同,和初始化列表中的排列順序無關。

C++11的類內(nèi)初始化

C++11當中允許我們直接對成員變量進行賦值:

  1. class Classy { 
  2.     int mem1 = 10; 
  3.     const int mem2 = 20; 
  4. }; 

這和在構造函數(shù)當中使用成員初始化列表等價:

  1. Classy::Classy() : mem1(0), mem2(20) {...} 

我們在類當中直接初始化之后,我們也可以在成員初始化列表當中進行覆蓋:

  1. Classy::Classy(int n) : mem1(n) {...} 

在這種情況下,mem1的值會被替換成n。

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

2021-12-12 18:13:54

C++This指針

2021-12-09 10:56:50

函數(shù)C++原型

2021-11-26 00:03:20

C++編譯常量

2021-12-29 20:31:40

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

2021-12-30 14:58:58

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

2021-12-08 10:43:09

C++實現(xiàn)

2021-12-10 10:45:36

C++函數(shù)Stock

2021-10-26 00:19:51

C++結(jié)構體存儲

2021-11-10 10:48:36

C++函數(shù)指針

2021-12-11 19:02:03

函數(shù)C++對象

2021-11-09 10:38:16

C++Const指針

2021-11-27 11:50:09

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

2021-11-26 10:56:28

C++存儲持續(xù)性

2021-12-16 10:40:11

C++運算符重載

2021-12-14 10:12:58

C++抽象數(shù)據(jù)

2021-10-21 18:52:00

C++數(shù)組存儲

2021-10-31 20:24:24

C++for循環(huán)

2021-12-15 10:25:57

C++運算符重載

2021-10-26 15:36:17

C++枚舉值類型

2021-10-27 16:27:20

C++指針操控
點贊
收藏

51CTO技術棧公眾號