Pelajaran 4 - Fungsi
Sekarang bahwa Anda harus belajar tentang variabel, loop, pernyataan bersyarat, dan sekarang saatnya untuk belajar tentang fungsi. Anda harus memiliki gagasan tentang menggunakan mereka seperti yang telah kita gunakan didefinisikan Mereka dan satu di Guise dari utama. cin.get () adalah contoh dari fungsi. Secara umum, fungsi blok kode itu Lakukan beberapa dari yang telah ditentukan perintah untuk mencapai sesuatu yang produktif.
Fungsi Bahwa seorang programmer menulis umumnya akan memerlukan prototipe. Sama seperti cetak biru, prototipe memberitahu compiler apa fungsi akan kembali, apa fungsi akan disebut, serta apa argumen fungsi dapat dilalui. Ketika saya mengatakan Bahwa fungsi mengembalikan nilai, maksud saya fungsi tersebut dapat digunakan dalam manner Sama seperti variabel Apakah Jadilah. Misalnya, variabel dapat ditetapkan sama dengan fungsi mengembalikan nilai Bahwa Antara nol dan empat.
Sebagai contoh:
Sekarang bahwa Anda harus belajar tentang variabel, loop, pernyataan bersyarat, dan sekarang saatnya untuk belajar tentang fungsi. Anda harus memiliki gagasan tentang menggunakan mereka seperti yang telah kita gunakan didefinisikan Mereka dan satu di Guise dari utama. cin.get () adalah contoh dari fungsi. Secara umum, fungsi blok kode itu Lakukan beberapa dari yang telah ditentukan perintah untuk mencapai sesuatu yang produktif.
Fungsi Bahwa seorang programmer menulis umumnya akan memerlukan prototipe. Sama seperti cetak biru, prototipe memberitahu compiler apa fungsi akan kembali, apa fungsi akan disebut, serta apa argumen fungsi dapat dilalui. Ketika saya mengatakan Bahwa fungsi mengembalikan nilai, maksud saya fungsi tersebut dapat digunakan dalam manner Sama seperti variabel Apakah Jadilah. Misalnya, variabel dapat ditetapkan sama dengan fungsi mengembalikan nilai Bahwa Antara nol dan empat.
Sebagai contoh:
#include <cstdlib> // Include rand()
using namespace std; // Make rand() visible
int a = rand(); // rand is a standard function that all compilers have
Jangan Pikirkan Itu 'dan' akan berubah secara acak, akan diatur ke nilai dikembalikan Ketika fungsi ini disebut, tapi itu tidak akan berubah lagi.
Format umum untuk prototipe sederhana:
return-type function_name ( arg_type arg1, ..., arg_type argN );
Ada bisa lebih dari satu argumen pilihan dilewatkan ke suatu fungsi atau tidak sama sekali (di mana tanda kurung kosong), dan tidak harus mengembalikan nilai. Fungsi Yang Tidak mengembalikan nilai memiliki tipe kembali void. Mari kita melihat prototipe fungsi:
int mult ( int x, int y );
Prototipe ini menetapkan Bahwa mult fungsi akan menerima dua argumen, baik bilangan bulat, dan itu akan mengembalikan integer. Jangan lupa usus semi-trailing. Tanpa itu, compiler mungkin akan berpikir Bahwa Anda mencoba untuk menulis definisi sebenarnya dari fungsi.
Ketika programmer benar-benar mendefinisikan fungsi, ia akan mulai dengan prototipe, minus usus semi-. Lalu ada harus selalu menjadi blok dengan kode itu berfungsi untuk mengeksekusi, sama seperti Anda akan menulis untuk fungsi utama. Salah satu argumen dilewatkan ke fungsi dapat digunakan seolah-olah Mereka Dideklarasikan di blok tersebut. Akhirnya, mengakhiri semuanya dengan cherry dan penjepit penutupan. Oke, mungkin bukan ceri.
Mari kita lihat contoh program:
#include <iostream>
using namespace std;
int mult ( int x, int y );
int main()
{
int x;
int y;
cout<<"Please input two numbers to be multiplied: ";
cin>> x >> y;
cin.ignore();
cout<<"The product of your two numbers is "<< mult ( x, y ) <<"\n";
cin.get();
}
int mult ( int x, int y )
{
return x * y;
}
Program ini dimulai dengan Diperlukan hanya mencakup file dan direktif untuk membuat namespace std terlihat. Segala sesuatu di header standar dengan bagian dalam std namespace dan tidak terlihat program kami kecuali kita membuat Mereka Sat Berikutnya adalah prototipe dari fungsi. Perhatikan Bahwa ia memiliki akhir semi-kolon! Fungsi utama mengembalikan sebuah integer, Yang harus Anda selalu harus sesuai dengan standar. Anda tidak harus memiliki kesulitan memahami input dan output fungsi. Ini baik-baik saja untuk menggunakan cin untuk memasukkan variabel sebagai program tidak. Tapi Ketika mengetik dalam angka, pastikan untuk Pisahkan Mereka dengan spasi sehingga cin Itu dapat memberitahu Mereka terpisah dan menempatkan mereka masuk variabel yang tepat.
Perhatikan bagaimana cout sebenarnya output apa Tampaknya menjadi fungsi mult. Apa yang sebenarnya terjadi adalah pengadilan yang mencetak nilai yang dikembalikan oleh mult, mult tidak sendiri. Hasilnya Apakah Jadilah Sama seolah-olah kita telah bukannya menggunakan print ini
cout<<"The product of your two numbers is "<< x * y <<"\n";
Fungsi mult sebenarnya didefinisikan di bawah utama. Karena prototipe yang berada di atas utama, compiler masih mengenalinya sebagai didefinisikan, sehingga compiler tidak akan memberikan error tentang mult yang terdefinisi. Selama prototipe hadir, fungsi dapat digunakan bahkan jika ada definisi tidak ada. Mengacu: kode tidak dapat berjalan tanpa definisi meskipun akan mengkompilasi. Prototipe dan definisi dapat digabungkan menjadi satu juga. Jika mult didefinisikan sebelum digunakan, kita bisa pergi dengan di prototipe Karena definisi dapat bertindak sebagai prototipe juga.
Kembali adalah kata kunci yang digunakan untuk Kekuatan fungsi untuk mengembalikan nilai. Perhatikan Bahwa Kemungkinan untuk memiliki Bahwa fungsi mengembalikan nilai. Jika fungsi mengembalikan void, retune pernyataan tersebut valid, tetapi hanya jika tidak memiliki ekspresi. Dalam otherwords, untuk kekosongan itu kembali fungsi, pernyataan "kembali;" adalah legal, tapi berlebihan.
Yang paling penting fungsional (Pun Dimaksudkan semi-) pertanyaan adalah mengapa kita perlu fungsi? Fungsi memiliki banyak kegunaan. Sebagai contoh, seorang programmer mungkin memiliki blok kode Bahwa ia telah berulang kali empat puluh Selama program. Sebuah fungsi untuk mengeksekusi kode itu akan menghemat banyak ruang, dan ook akan membuat program lebih mudah dibaca. Juga, hanya memiliki satu salinan kode membuatnya lebih mudah untuk melakukan perubahan. Apakah Anda lebih suka membuat empat puluh perubahan kecil tersebar di Sepanjang Berpotensi program besar, atau satu perubahan ke fungsi poin? Jadi Apakah aku
Alasan lain untuk fungsi adalah untuk memecah program yang kompleks menjadi bagian-bagian logis. Misalnya, mengambil menu itu program yang menjalankan kode yang kompleks Ketika pilihan menu yang dipilih. Program Mungkin akan lebih baik dilayani dengan membuat fungsi untuk setiap loop pilihan menu yang sebenarnya, dan kemudian mogok tugas kompleks menjadi lebih kecil, tugas lebih mudah dikelola, Yang Bisa Jadi Dalam fungsi Sendiri. Dengan cara ini, program dapat dirancang Itu masuk akal Ketika membaca. Dan memiliki struktur Itu lebih mudah untuk memahami dengan cepat. Program terburuk usuall hanya memiliki fungsi yang diperlukan, utama, dan mengisinya dengan halaman kode campur aduk.

0 komentar:
Posting Komentar