目錄
創(chuàng)新互聯(lián)公司主要從事網(wǎng)頁(yè)設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、成都響應(yīng)式網(wǎng)站建設(shè)、程序開(kāi)發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、微信平臺(tái)小程序開(kāi)發(fā)等,憑借多年來(lái)在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷(xiāo)經(jīng)驗(yàn),集策劃、開(kāi)發(fā)、設(shè)計(jì)、營(yíng)銷(xiāo)、管理等多方位專(zhuān)業(yè)化運(yùn)作于一體。一.Const成員函數(shù)? ? ??
1.定義:
2.格式:
3.代碼示例:
.h文件:
definition.cpp文件?
特性:
例:
那么const對(duì)象既可以調(diào)用非const型成員函數(shù)嗎?
問(wèn)題3.const成員函數(shù)內(nèi)可以調(diào)用其它的非const成員函數(shù)嗎?
問(wèn)題4. 非const成員函數(shù)內(nèi)可以調(diào)用其它的const成員函數(shù)嗎?
總結(jié):
將const修飾的“成員函數(shù)”稱(chēng)之為const成員函數(shù),const修飾類(lèi)成員函數(shù),表明在該成員函數(shù)中不能對(duì)類(lèi)的任何成員進(jìn)行修改。
? const修飾成員函數(shù)的時(shí)候,const需要放在成員函數(shù)的后面,不能放在一開(kāi)始,,若是放在一開(kāi)始的話(huà),那么const修飾的是函數(shù)的返回值,而非是修飾成員函數(shù)了。
2.格式:3.代碼示例:.h文件:返回值類(lèi)型 函數(shù)名稱(chēng) ( ) const {
? //函數(shù)體.....
????????????????? }
class Date {
public:
//構(gòu)造函數(shù)不可以使用const修飾,構(gòu)造函數(shù)若加了const就不能初始化值了
Date(int year = 1199, int month = 12, int day = 15);
void Print() const;
void Reset1()const;
void Reset2();
void Reset3()const;
private:
int _year;
int _month;
mutable int _day;
};
definition.cpp文件?Date::Date(int year, int month, int day) {
_year = year;
_month = month;
_day = day;
}
void Date::Print() const{
cout<< _year<< "-"<< _month<< "-"<< _day<< endl;
}
void Date:: Reset1()const {
_day = 1;
_month = 2;
_year = 1970;
}
void Date::Reset2() {
_day = 1;
_month = 2;
_year = 1970;
}
void Date:: Reset3()const {
this->_day++;
}
特性:例:const修飾的成員函數(shù):實(shí)際上修飾的是this指針指向空間的內(nèi)容不可被修改
有了const修飾的成員函數(shù),其this指針類(lèi)型:const Date* const? (左定值,右定向)而普通的成員函數(shù):可以修改成員變量 ,其this指針類(lèi)型:Date* const
int main() {
Date d1(2022, 9, 9);
d1.Print();
d1.Reset2();
d1.Print();
return 0;
}
那么const對(duì)象既可以調(diào)用非const型成員函數(shù)嗎?解析:d1是Date類(lèi)型,可讀可寫(xiě),Reset函數(shù)可讀可寫(xiě),而Print函數(shù)僅可讀,表明非const對(duì)象既可以調(diào)用const型成員函數(shù),也可以調(diào)用非const型成員函數(shù)。?這是權(quán)限的平移和縮小。
同樣的,權(quán)限小的是不能調(diào)用權(quán)限大的?。?!?
問(wèn)題3.const成員函數(shù)內(nèi)可以調(diào)用其它的非const成員函數(shù)嗎??不可以,若你把一個(gè)函數(shù)聲明為const類(lèi)型函數(shù),那么就說(shuō)明這個(gè)函數(shù)是只讀的,不可修改,
而非const成員函數(shù)是可讀可寫(xiě)的。
可以,外層函數(shù)類(lèi)型Date* const:是可讀可寫(xiě)的,而內(nèi)層函數(shù)類(lèi)型是const Date* const:只讀
外層可以修改也可以不修改,到底是否要修改,視情況而定。
到底要不要使用const去修飾成員函數(shù),就看你函數(shù)中的變量需不需被修改,如果不希望被修改,則加上即可。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧