成員函數(shù)擁有this指針 c 靜態(tài)成員函數(shù)里,為何不能直接使用this指針?
c 靜態(tài)成員函數(shù)里,為何不能直接使用this指針?靜態(tài)成員函數(shù)并不是針對(duì)某個(gè)類的實(shí)例對(duì)象,而是屬于整個(gè)類的,為所有的對(duì)象實(shí)例所共有。他在作用域的范圍內(nèi)是全局的,獨(dú)立于類的對(duì)象之外的。他只對(duì)類內(nèi)部的靜
c 靜態(tài)成員函數(shù)里,為何不能直接使用this指針?
靜態(tài)成員函數(shù)并不是針對(duì)某個(gè)類的實(shí)例對(duì)象,而是屬于整個(gè)類的,為所有的對(duì)象實(shí)例所共有。他在作用域的范圍內(nèi)是全局的,獨(dú)立于類的對(duì)象之外的。他只對(duì)類內(nèi)部的靜態(tài)成員變量做操作。當(dāng)實(shí)例化一個(gè)類的對(duì)象時(shí)候,里面不存在靜態(tài)成員的。this指針是相當(dāng)于一個(gè)類的實(shí)例的指針,this是用來(lái)操作對(duì)象實(shí)例的內(nèi)容的,既然靜態(tài)成員函數(shù)和變量都是獨(dú)立于類的實(shí)例對(duì)象之外的,他就不能用this指針。也不能操作非靜態(tài)成員。再有你要想想設(shè)計(jì)靜態(tài)成員的用意在哪里,就會(huì)更加明了了
靜態(tài)函數(shù)內(nèi)如何調(diào)用靜態(tài)成員函數(shù)指針數(shù)組?
通常不建議這樣做哦。這樣做通常意味著設(shè)計(jì)上有嚴(yán)重的缺陷。因?yàn)椋红o態(tài)成員函數(shù)是不需要類的對(duì)象就可以調(diào)用的。類的對(duì)象都不存在當(dāng)然不能直接調(diào)用了。如果一定要調(diào)用,你可以用以下三種方式,創(chuàng)建一個(gè)類對(duì)象在進(jìn)行調(diào)用1、用參數(shù)傳遞進(jìn)一個(gè)內(nèi)的對(duì)象;2、在靜態(tài)成員函數(shù)中創(chuàng)建一個(gè)臨時(shí)對(duì)象。3、創(chuàng)建一個(gè)該類的全局對(duì)象
this指針在const成員函數(shù),static成員函數(shù)及一般成員函數(shù)中有何不同?
this指針是const指針,指向?qū)嵗瘜?duì)象
const成員函數(shù)不能修改成員變量
static成員函數(shù)不能使用this指針,static成員不屬于對(duì)象,所以就沒(méi)有this指針之說(shuō)。一般static成員變量要通過(guò)static成員函數(shù)來(lái)修改其值。
一般函數(shù)可以使用this指針,可以修改成員變量
c 只有類的非靜態(tài)成員函數(shù)才有this指針嗎?
準(zhǔn)確的說(shuō),是非靜態(tài)成員都有this指針,包括方法和屬性。當(dāng)類中的成員具有獨(dú)自的特征時(shí),比如對(duì)象1的值1,對(duì)象2的值是2,就需要this指針來(lái)指明是哪個(gè)類。