靜態(tài)成員函數(shù)只能訪(fǎng)問(wèn)靜態(tài)數(shù)據(jù)成員 靜態(tài)成員函數(shù)為什么不能訪(fǎng)問(wèn)本類(lèi)中的非靜態(tài)成員?
靜態(tài)成員函數(shù)為什么不能訪(fǎng)問(wèn)本類(lèi)中的非靜態(tài)成員?程序最終將在內(nèi)存中執(zhí)行,變量只有在占用內(nèi)存中的某個(gè)位置時(shí)才能被訪(fǎng)問(wèn)。類(lèi)的靜態(tài)成員(變量和方法)屬于類(lèi)本身,在加載類(lèi)時(shí)會(huì)分配內(nèi)存,可以通過(guò)類(lèi)名直接訪(fǎng)問(wèn)內(nèi)存。
靜態(tài)成員函數(shù)為什么不能訪(fǎng)問(wèn)本類(lèi)中的非靜態(tài)成員?
程序最終將在內(nèi)存中執(zhí)行,變量只有在占用內(nèi)存中的某個(gè)位置時(shí)才能被訪(fǎng)問(wèn)。類(lèi)的靜態(tài)成員(變量和方法)屬于類(lèi)本身,在加載類(lèi)時(shí)會(huì)分配內(nèi)存,可以通過(guò)類(lèi)名直接訪(fǎng)問(wèn)內(nèi)存。非靜態(tài)成員(變量和方法)屬于類(lèi)對(duì)象,因此只有在生成類(lèi)對(duì)象(創(chuàng)建類(lèi)實(shí)例)然后通過(guò)類(lèi)對(duì)象(實(shí)例)訪(fǎng)問(wèn)時(shí)才會(huì)分配內(nèi)存。在靜態(tài)成員中訪(fǎng)問(wèn)類(lèi)的非靜態(tài)成員時(shí)出錯(cuò)的原因是,當(dāng)該類(lèi)的非靜態(tài)成員不存在時(shí),該類(lèi)的靜態(tài)成員已經(jīng)存在。當(dāng)然,訪(fǎng)問(wèn)內(nèi)存中不存在的東西時(shí)會(huì)出錯(cuò):類(lèi)ca{私人:INTA//非靜態(tài)成員在創(chuàng)建類(lèi)實(shí)例時(shí)分配內(nèi)存。一個(gè)類(lèi)的不同實(shí)例對(duì)應(yīng)不同的內(nèi)存區(qū)域
靜態(tài)成員函數(shù)不能訪(fǎng)問(wèn)非靜態(tài)成員變量。這是一條規(guī)則。但你可以改變解決問(wèn)題的方法。除了鎖定靜態(tài)成員函數(shù)外,線(xiàn)程入口函數(shù)也可以是全局函數(shù)。在全局函數(shù)中獲得主窗口的句柄后,可以訪(fǎng)問(wèn)各種成員變量。我希望它能幫助你。
靜態(tài)成員函數(shù)可以訪(fǎng)問(wèn)非靜態(tài)成員變量嗎?
可以直接訪(fǎng)問(wèn)非靜態(tài)功能。不能直接訪(fǎng)問(wèn)靜態(tài)函數(shù),因?yàn)榭梢酝ㄟ^(guò)class::functions而不是對(duì)象直接調(diào)用靜態(tài)函數(shù)。非靜態(tài)函數(shù)必須通過(guò)對(duì)象調(diào)用,這也涉及到實(shí)例化對(duì)象時(shí)的內(nèi)存分配。