Panggilan Fungsi (C++)
Operator panggilan fungsi, yang dipanggil menggunakan tanda kurung, adalah operator biner.
Sintaks
primary-expression ( expression-list )
Keterangan
Dalam konteks ini, primary-expression
adalah operan pertama, dan expression-list
, daftar argumen yang mungkin kosong, adalah operand kedua. Operator panggilan fungsi digunakan untuk operasi yang memerlukan sejumlah parameter. Ini berfungsi karena expression-list
merupakan daftar alih-alih satu operand. Operator panggilan fungsi harus menjadi fungsi anggota nonstatis.
Operator panggilan fungsi, ketika kelebihan beban, tidak memodifikasi bagaimana fungsi dipanggil; sebaliknya, ini memodifikasi bagaimana operator akan ditafsirkan ketika diterapkan ke objek dari jenis kelas tertentu. Misalnya, kode berikut biasanya tidak akan berarti:
Point pt;
pt( 3, 2 );
Mengingat operator panggilan fungsi kelebihan beban yang sesuai, namun, sintaks ini dapat digunakan untuk mengimbangi x
unit koordinat 3 dan y
unit koordinat 2. Kode berikut menunjukkan definisi seperti itu:
// function_call.cpp
class Point
{
public:
Point() { _x = _y = 0; }
Point &operator()( int dx, int dy )
{ _x += dx; _y += dy; return *this; }
private:
int _x, _y;
};
int main()
{
Point pt;
pt( 3, 2 );
}
Perhatikan bahwa operator panggilan fungsi diterapkan ke nama objek, bukan nama fungsi.
Anda juga dapat membebani operator panggilan fungsi menggunakan penunjuk ke fungsi (bukan fungsi itu sendiri).
typedef void(*ptf)();
void func()
{
}
struct S
{
operator ptf()
{
return func;
}
};
int main()
{
S s;
s();//operates as s.operator ptf()()
}
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk