非常對象可以調(diào)用常成員函數(shù) C 中,不是常對象能調(diào)用常成員函數(shù)嗎?
C 中,不是常對象能調(diào)用常成員函數(shù)嗎?當(dāng)然可以。不要混淆常量和靜態(tài)有兩個錯誤:第一,調(diào)用位置不能是.print()常量,只能是.print()第二個錯誤是您誤解了它。Void print()和Voi
C 中,不是常對象能調(diào)用常成員函數(shù)嗎?
當(dāng)然可以。
不要混淆常量和靜態(tài)
有兩個錯誤:第一,調(diào)用位置不能是.print()常量,只能是.print()
第二個錯誤是您誤解了它。Void print()和Void print()const是兩個特殊的重載函數(shù),因為調(diào)用的是a.print(),要調(diào)用哪一個?看這個對象,如果是常量對象,調(diào)用void print()const,如果常量成員函數(shù)重載,只能由常量對象調(diào)用。例如,在您的示例中,
a a
a.print()//output AA
const a
a.print()//output BB
常量成員函數(shù)的意義是函數(shù)體的代碼不能修改,但參數(shù)的值可以修改
1。常量成員函數(shù)無法更新對象的數(shù)據(jù)成員;
2。不能調(diào)用此類中未修改常量的成員函數(shù)。例如,template類template
constant函數(shù)是通過在函數(shù)后面添加const來定義的。例如,方法a()const聲明類的對象時,可以使用const將對象標記為常量對象,對象的成員變量不能修改,但常量對象只能調(diào)用常量函數(shù)。這是常數(shù)函數(shù)的函數(shù)。因此,只有當(dāng)類可能被聲明為常量對象時,才需要常量函數(shù)。常量函數(shù)只能調(diào)用常量函數(shù),并且只能使用const的成員變量。