Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Kelas Proksi Boleh Menguatkuasakan Sekatan Digit Perduaan dalam Tatasusunan?
Peranan Kelas Proksi dalam C
Dalam kejuruteraan perisian, kelas proksi ialah konsep yang digunakan untuk mengantara akses kepada objek sedia ada, dirujuk sebagai "subjek." Kelas proksi menyediakan antara muka yang diubah, memberikan interaksi terkawal dan selalunya terhad dengan subjek.
Tujuan Kelas Proksi
Kelas proksi dicipta atas pelbagai sebab, termasuk:
Contoh: Sekatan Digit Binari
Pertimbangkan contoh berikut:
struct array1 { int mArray[10]; int &operator[](int i) { /// what to put here } };
Dalam contoh ini, kami ingin mengubah suai kelas Array supaya ia boleh hanya mengandungi digit binari (1 atau 0). Melaksanakan ini secara langsung dalam kaedah pengendali Array[] tidak akan dapat dilaksanakan kerana ia tidak dapat mengakses nilai yang disimpan.
Untuk menyelesaikannya, kami boleh memperkenalkan kelas proksi:
struct aproxy { aproxy(int& r) : mPtr(&r) {} void operator = (int n) { if (n > 1 || n < 0) { throw "not binary digit"; } *mPtr = n; } int * mPtr; }; struct array { int mArray[10]; aproxy operator[](int i) { return aproxy(mArray[i]); } };
Dalam kes ini, kelas Proksi (proksi) menyemak nilai tidak sah (digit bukan binari) dan membuang pengecualian jika ditemui. Dengan menjadikan operator Array[] mengembalikan contoh kelas Proksi, kami menguatkuasakan sekatan digit perduaan sambil masih membenarkan akses kepada elemen tatasusunan.
Atas ialah kandungan terperinci Bagaimanakah Kelas Proksi Boleh Menguatkuasakan Sekatan Digit Perduaan dalam Tatasusunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!