c++關(guān)鍵字 C 中,不是常對(duì)象能調(diào)用常成員函數(shù)嗎?
C 中,不是常對(duì)象能調(diào)用常成員函數(shù)嗎?當(dāng)然可以。不要混淆常量和靜態(tài)有兩個(gè)錯(cuò)誤:第一,調(diào)用位置不能是.print()常量,只能是.print()第二個(gè)錯(cuò)誤是您誤解了它。Void print()和Voi
C 中,不是常對(duì)象能調(diào)用常成員函數(shù)嗎?
當(dāng)然可以。
不要混淆常量和靜態(tài)
有兩個(gè)錯(cuò)誤:第一,調(diào)用位置不能是.print()常量,只能是.print()
第二個(gè)錯(cuò)誤是您誤解了它。Void print()和Void print()const是兩個(gè)特殊的重載函數(shù),因?yàn)檎{(diào)用的是a.print(),要調(diào)用哪一個(gè)?看這個(gè)對(duì)象,如果是常量對(duì)象,調(diào)用void print()const,如果常量成員函數(shù)重載,只能由常量對(duì)象調(diào)用。例如,在您的示例中,
a a
a.print()//output AA
const a
a.print()//output BB
常量成員函數(shù)的意義是函數(shù)體的代碼不能修改,但參數(shù)的值可以修改
1。常量成員函數(shù)無(wú)法更新對(duì)象的數(shù)據(jù)成員;
2。不能調(diào)用此類(lèi)中未修改常量的成員函數(shù)。例如,模板類(lèi)模板