新聞中心
在C++編程語(yǔ)言中,同樣均具有面向?qū)ο蟮奶匦?。比如在C++中有為類(lèi)提供的類(lèi)成員等等。我們將會(huì)在這里為大家詳細(xì)介紹一下有關(guān)C++類(lèi)成員相關(guān)知識(shí),希望能對(duì)大家在理解這方面的知識(shí)上有所幫助。#t#

創(chuàng)新互聯(lián)建站專(zhuān)注于關(guān)嶺企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),電子商務(wù)商城網(wǎng)站建設(shè)。關(guān)嶺網(wǎng)站建設(shè)公司,為關(guān)嶺等地區(qū)提供建站服務(wù)。全流程按需定制開(kāi)發(fā),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
C++為類(lèi)中提供C++類(lèi)成員的初始化列表
類(lèi)對(duì)象的構(gòu)造順序是這樣的:
1.類(lèi)里面的任何成員變量在定義時(shí)是不能初始化的。
2.一般的數(shù)據(jù)成員可以在構(gòu)造函數(shù)中初始化。
3.const數(shù)據(jù)成員必須在構(gòu)造函數(shù)的初始化列表中初始化。
4.static要在類(lèi)的定義外面初始化。
5.數(shù)組成員是不能在初始化列表里初始化的。
6.不能給數(shù)組指定明顯的初始化。
這6條一起,說(shuō)明了一個(gè)問(wèn)題:C++里面是不能定義常量數(shù)組的!因?yàn)?和5的矛盾。這個(gè)事情似乎說(shuō)不過(guò)去啊?沒(méi)有辦法,我只好轉(zhuǎn)而求助于靜態(tài)數(shù)據(jù)成員。
到此,我的問(wèn)題解決。但是我還想趁機(jī)復(fù)習(xí)一下C++類(lèi)的初始化:
1.初始化列表:CSomeClass::CSomeClass() : x(0), y(1){}
2.類(lèi)外初始化:int CSomeClass::myVar=3;
3.const常量定義必須初始化,C++類(lèi)里面使用初始化列表;
4.C++類(lèi)不能定義常量數(shù)組。
關(guān)于const,復(fù)習(xí)一下常量指針:
如果const位于星號(hào)的左側(cè),則const就是用來(lái)修飾指針?biāo)赶虻淖兞浚粗羔樦赶驗(yàn)槌A?;如果const位于星號(hào)的右側(cè),const就是修飾指針本身,即指針本身是常量。
在C++類(lèi)中,必須做如下事情:
1.必須對(duì)任何const或引用類(lèi)型成員以及沒(méi)有默認(rèn)構(gòu)造函數(shù)的 類(lèi) 類(lèi)型 的任何成員 顯示地使用初始化列表進(jìn)行初始化
2.類(lèi)成員在定義時(shí)是不能被初始化的。
3.C++類(lèi)成員初始化順序與成員變量在構(gòu)造函數(shù)中的位置選后順序無(wú)關(guān),至于成員變量在類(lèi)中定義的先后順序有關(guān)。
所以下面的例子是錯(cuò)的:
- class x
- {
- int i;
- int j;
- public :
- x( int value):j(value),i(j)
- {
- }
- }
對(duì)與上面的code,因?yàn)閕先被初始化(i相對(duì)于j先定義的)而在i初始化時(shí),j并沒(méi)有被初始化,故執(zhí)行出現(xiàn)問(wèn)題了。
C++類(lèi)成員的相關(guān)概念就為大家介紹到這里。
本文標(biāo)題:C++類(lèi)成員相關(guān)應(yīng)用方法介紹
當(dāng)前URL:http://m.fisionsoft.com.cn/article/dhjchdi.html


咨詢(xún)
建站咨詢(xún)
