saya memiliki kelas tertentu dan saya ingin membuat 2 operator yang akan bekerja sama
menyukai kelas dengan array dan saya ingin mengubah indeks tertentu dalam array
seperti ini objek[3]=5
apakah ini mungkin? jika ya, bagaimana caranya?
ini adalah kode yang saya buat untuk operator [].
double Polynomial::operator[](int index) const {
int maxT = this->currentMax;
if (index > 0 && index < this->getDegree(false))
return this->coefficients[index];
cout << "overflow in index";
system("pause");
}
operator[]
, hal ini tidak lazim. Kebanyakan container melewati pemeriksaan batas dioperator[]
(agar secepat mungkin) dan menyediakan fungsi anggota yang disebutat()
yang melakukan pemeriksaan batas dan memberikan pengecualian jikaindex
di luar batas. Ngomong-ngomong,index
biasanya bertipeunsigned
, sepertisize_t
. Berikut ini contoh sederhana untuk dimainkan: godbolt.org/z/qr26cd - person Ted Lyngmo   schedule 22.04.2020[]=
, jadi Anda tidak dapat membebaninya secara berlebihan. Anda dapat membebani operator[]
dan operator=
secara berlebihan. - person Thomas Matthews   schedule 22.04.2020[]=
disebutkan atau tersirat. Judul menyebutkan[]
dan=
secara terpisah. - person Ted Lyngmo   schedule 22.04.2020[]
dan=
secara terpisah. - person Thomas Matthews   schedule 22.04.2020operator[]
danoperator=
bagi saya dan implementasioperator[]
(bukanoperator[]=
) juga membuat saya pikir OP tahu bahwa mereka adalah operator yang terpisah. - person Ted Lyngmo   schedule 22.04.2020