下列關於this指標的敘述中,正確的是( d )。
a) this指標是乙個隱含指標,它隱含於類的成員函式中
b) 只有在使用this時,系統才會將物件的位址賦值給this
c) 類的友元函式也有this指標
d) this指標表示了成員函式當前操作的資料所屬的物件
解析] this指標是成員函式所屬物件的指標,它指向類物件的位址;它隱含於每個類的非靜態成員函式中;this指標只能在類的成員函式中使用,它指向該成員函式被呼叫的物件;靜態成員函式沒有this指標,因為類中只有乙個靜態成員函式例項,使用this指標無意義。
下列關於this指標的敘述中,正確的是( )。
a.任何與類相關的函式都有this指標
b.類的成員函式都有this指標
c.類的友元函式都有this指標
d.類的非靜態成員函式才有this指標
正確答案
d答案解析
[解析] 此題考查的是this指標的使用。類的每乙個非靜態成員函式都有乙個隱含的常最指標,即this指標。類的靜態成員函式不能含有this指標,因為this指標是個指向本物件的指標。
下列關於this指標的描述中,正確的是( )。
a) 類的成員函式都有this指標
b) 類的友元函式都有this指標
c) 任何與類相關的函式都有this指標
d) 類的非靜態成員函式都有this指標
正確答案
d答案解析
[解析] this作用域是在類內部,當在類的非靜態成員函式中訪問類的非靜態成員時,編譯器會自動將物件本身的位址作為乙個隱含引數傳遞給函式。另外,全域性函式和靜態函式都不能使用this指標。所以答案為d。
C 靜態成員函式訪問非靜態成員
如果類沒有被建立,則沒有對應的成員,也就無法訪問 下面這種方法需要先建立類,並將類作為引數傳遞給靜態成員函式才能訪問。include using namespace std class person class student public person static void get age st...
靜態成員函式和非靜態成員函式的區別?
乙個靜態成員函式不與任何物件相聯絡,故不能對非靜態成員進行預設訪問。它們的根本區別在於靜態成員函式沒有this指標,而非靜態成員函式有乙個指向當前物件的指標this。例如 1 classsc2 89void f sc s 10函式nsfn 可被認為它宣告為void sc nsfn sc this i...
靜態成員函式與非靜態成員函式的區別
先放上幾個小例子 1 static 修飾成員變數 靜態變數,是在編譯階段就分配空間,物件還沒有建立時,就已經分配空間。靜態成員變數必須在類中宣告,在類外定義。靜態資料成員不屬於某個物件,在為物件分配空間中不包括靜態成員所佔空間。class data 定義的時候 不需要加static int data...