penunjuk ini
Di dalam sebuah kelas, terdapat pointer khusus yang sangat tersembunyi, yaitu pointer this !
Mengapa ini istimewa? Karena selama suatu kelas didefinisikan, sistem akan menentukan terlebih dahulu sebuah pointer bernama ini dan menunjuk ke objek saat ini. Meskipun kita tidak dapat melihatnya, kita dapat menggunakannya.
Sebagai contoh, mari kita lihat fungsi anggota kelas jam, kode yang digunakan untuk menyetel nilai waktu:
intClock::SetTime(inth,intm,ints){H=h;M=m;S=s;}
Anda dapat melihat bahwa variabel anggota kelas Jam itu sendiri adalah H, M, dan S. Mereka perlu diberi nilai dari luar. Untuk membedakannya, kita mendefinisikan parameter formal dalam huruf kecil. Jadi jika kita mengetahui keberadaannya, kita bisa menulis seperti ini:
intClock::SetTime(inth,intm,ints){this->H=h;this->M=m;this->S=s;}//Bisa juga ditulis sebagai: intClock::SetTime(inth, intm,ints ){(*ini).H=h;(*ini).M=m;(*ini).S=s;}
Terlihat bahwa kedua metode penulisan di atas menggunakan pointer ini yang tersembunyi di dalam objek, yang jelas-jelas merupakan anggota kelas ini, sehingga dengan jelas membedakan objek tersebut dari variabel luar. Faktanya, ketika sebuah objek memanggil fungsi anggotanya, meskipun ada beberapa objek dari kelas ini dalam program, hanya ada satu kode untuk fungsi anggota tersebut, oleh karena itu, untuk membedakan objek mana yang memanggil fungsi anggota tersebut, kompiler juga mengkonversi Ini digunakan dalam bentuk fungsi anggota ini->.