Apabila berurusan dengan berbilang pembina dalam kelas C, mungkin terdapat keadaan di mana kod yang sama diulang merentas pembina. Untuk menyelaraskan proses ini, C menyediakan keupayaan untuk mewakilkan panggilan pembina.
Dalam senario anda, anda cuba memanggil pembina Bitmap(HBITMAP) daripada pembina Bitmap(WORD). Semasa pendekatan pertama anda mencipta peta bit sementara dan memanggil pembina lain dengannya, sintaks yang betul untuk delegasi pembina menggunakan senarai permulaan pembina.
Kod berikut menunjukkan pendekatan yang betul:
Bitmap::Bitmap(HBITMAP Bmp) { // Construct some bitmap stuff.. } Bitmap::Bitmap(WORD ResourceID) : Bitmap((HBITMAP)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(ResourceID), IMAGE_BITMAP, 0, 0, LR_SHARED)) { }
Dengan meletakkan panggilan delegasi pembina dalam senarai permulaan, anda memastikan bahawa pembina Bitmap(HBITMAP) dipanggil sebelum yang lain kenyataan dalam pembina Bitmap(WORD). Ini membolehkan anda menggunakan semula kod biasa semasa memulakan objek Bitmap dengan parameter yang berbeza.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mewakilkan Pembina dalam C untuk Mengelakkan Pertindihan Kod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!