問題:在類中建立一個(gè)int類型的數(shù)組
方法一:(錯(cuò)誤)
class Test
{
const int size = 100;
int array[size];
//……
};
錯(cuò)誤原因:
1:因?yàn)樵谝粋(gè)類中,const恢復(fù)了它在c中的一部分意思,在每個(gè)類對象里分配存儲(chǔ)并代表一個(gè)值,這個(gè)值一旦被初始化以后就不能被改變。所以在類中使用了const的意思是:在這個(gè)對象的生命周期內(nèi),它是一個(gè)常量。
然而,每個(gè)對象可能包含不同的值。
2:對const常量進(jìn)行了初始化,C++中這個(gè)初始化必須由構(gòu)造函數(shù)完成,如const常量在初始化列表中進(jìn)行初始化。
方法二:(正確,有缺陷)
使用enum;
class Test
{
enum { size = 100};
int array[size];
//……
};
使用enum不會(huì)占用對象中的存儲(chǔ)空間的,枚舉常量在編譯的時(shí)候被全部求值。
缺點(diǎn):
假如定義一個(gè)非整型的常量該如何?enum無法完成此項(xiàng)操作,同時(shí)喪失了枚舉本來的作用。
方法三:(正確,)
使用靜態(tài)常量;
class Test
{
static const int size;
int array[size];
//……
};
const int Test::size = 100;
它既是常量,不能改變,又是靜態(tài),在類中只有一個(gè)定義點(diǎn)。所以能夠完成任務(wù)。
同時(shí),它可以定義任何與定義類型的常量。
- 2023年下半年計(jì)算機(jī)等級考試四級計(jì)算機(jī)組成與接口備考要點(diǎn)歸納
- 2023年下半年計(jì)算機(jī)等級考試三級信息安全技術(shù)復(fù)習(xí)要點(diǎn)匯總
- 2023年下半年計(jì)算機(jī)等級考試三級數(shù)據(jù)庫技術(shù)復(fù)習(xí)要點(diǎn)匯總
- 2023年下半年計(jì)算機(jī)等級一級考試Photoshop考點(diǎn)梳理
- 2023年下半年計(jì)算機(jī)等級考試三級網(wǎng)絡(luò)技術(shù)考點(diǎn)梳理
- 2023年下半年計(jì)算機(jī)等級一級考試WPS office考點(diǎn)匯總
- 查看計(jì)算機(jī)等級考試全部文檔 >>
- 2024年9月上海計(jì)算機(jī)一級成績查詢時(shí)間及查分入口
- 2024年9月全國計(jì)算機(jī)一級成績查詢時(shí)間及查分入口
- 2024年9月全國計(jì)算機(jī)一級考試成績查詢?nèi)肟冢ㄒ验_
- 2024年9月浙江省全國計(jì)算機(jī)等級考試(NCRE)
- 2024年9月浙江計(jì)算機(jī)二級考試準(zhǔn)考證打印入口(9
- 2024年9月江蘇計(jì)算機(jī)一級成績查詢時(shí)間及查分入口
- 2024年9月江蘇計(jì)算機(jī)等級考試成績查詢時(shí)間及查分
- 2024年9月浙江計(jì)算機(jī)二級成績查詢時(shí)間及查分入口