Apa itu Kelas?
Kelas C ++ menggabungkan data dan metode untuk memanipulasi data menjadi satu. Kelas juga menentukan bentuk objek. Data dan metode yang terdapat dalam kelas dikenal sebagai anggota kelas. Kelas adalah tipe data yang ditentukan pengguna. Untuk mengakses anggota kelas, kami menggunakan instance kelas. Anda dapat melihat kelas sebagai cetak biru untuk suatu objek.
Kelas menjadi prototipe sebuah rumah. Ini menunjukkan lokasi dan ukuran pintu, jendela, lantai, dll. Dari uraian ini, kita dapat membangun sebuah rumah. Rumah menjadi obyeknya. Dimungkinkan untuk membuat banyak rumah dari prototipe. Juga, dimungkinkan untuk membuat banyak objek dari sebuah kelas.
Pada gambar di atas, kami memiliki prototipe rumah tunggal. Dari prototipe ini, kami telah membuat dua rumah dengan fitur berbeda.
Dalam tutorial ini, Anda akan mempelajari:
- Apa itu Kelas?
- Contoh Kelas
- Kata Kunci Pribadi dan Umum
- Definisi Objek
- Mengakses Anggota Data
- Fungsi Anggota Kelas
- Pembuat dan Penghancur
Deklarasi Kelas
Dalam C +, kelas didefinisikan menggunakan kata kunci kelas. Ini harus diikuti dengan nama kelas. Badan kelas kemudian ditambahkan di antara tanda kurung kurawal {}.
Sintaksis:
class class-name{// data// functions};
- Nama kelas adalah nama yang akan diberikan ke kelas.
- Data adalah data kelas, biasanya dideklarasikan sebagai variabel.
- Fungsinya adalah fungsi kelas.
Kata Kunci Pribadi dan Umum
Anda pasti pernah menemukan dua kata kunci ini. Mereka adalah pengubah akses.
- Pribadi:
Ketika kata kunci privat digunakan untuk mendefinisikan sebuah fungsi atau kelas, itu menjadi privat. Hanya dapat diakses dari dalam kelas.
- Publik:
Kata kunci publik, sebaliknya, membuat data / fungsi menjadi publik. Ini dapat diakses dari luar kelas.
Definisi Objek
Objek dibuat dari kelas. Objek kelas dideklarasikan dengan cara yang sama seperti variabel dideklarasikan. Nama kelas harus dimulai, diikuti dengan nama objek. Objek dari tipe kelas.
Sintaksis:
class-name object-name;
- Nama kelas adalah nama kelas tempat objek akan dibuat.
- Nama objek adalah nama yang akan diberikan ke objek baru.
Proses pembuatan objek dari kelas ini dikenal sebagai instantiation.
Mengakses Anggota Data
Untuk mengakses anggota publik kelas, kami menggunakan operator titik (.). Ini adalah anggota yang ditandai dengan pengubah akses publik.
Contoh 1:
#includeusing namespace std;class Phone {public:double cost;int slots;};int main() {Phone Y6;Phone Y7;Y6.cost = 100.0;Y6.slots = 2;Y7.cost = 200.0;Y7.slots = 2;cout << "Cost of Huawei Y6 : " << Y6.cost << endl;cout << "Cost of Huawei Y7 : " << Y7.cost << endl;cout << "Number of card slots for Huawei Y6 : " << Y6.slots << endl;cout << "Number of card slots for Huawei Y7 : " << Y7.slots << endl;return 0;}
Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Sertakan file header iostream dalam kode kami untuk menggunakan fungsinya.
- Menyertakan namespace std dalam kode kita untuk menggunakan kelasnya tanpa memanggilnya.
- Deklarasikan kelas bernama Telepon.
- Menggunakan pengubah akses publik untuk menandai variabel yang akan kita buat sebagai dapat diakses publik.
- Nyatakan biaya variabel untuk tipe data ganda.
- Deklarasikan variabel integer bernama slot.
- Akhir dari badan kelas.
- Memanggil fungsi main (). Logika program harus ditambahkan di dalam tubuhnya.
- Buat sebuah objek bernama Y6 dengan tipe Phone. Ini disebut instantiation.
- Buat sebuah objek bernama Y7 dengan tipe Phone. Ini disebut instantiation.
- Akses variabel / biaya anggota kelas Telepon menggunakan objek Y6. Nilai ditetapkan ke 100.0. Biaya Y6 sekarang ditetapkan menjadi 100.0.
- Akses slot variabel / anggota kelas Telepon menggunakan objek Y6. Nilai disetel ke 2. Slot untuk Y6 sekarang disetel ke 2.
- Akses variabel / biaya anggota kelas Telepon menggunakan objek Y7. Nilai ditetapkan ke 200.0. Harga Y7 sekarang ditetapkan ke 200.0.
- Akses slot variabel / anggota kelas Telepon menggunakan objek Y7. Nilai disetel ke 2. Slot untuk Y7 sekarang disetel ke 2.
- Cetak harga Y6 di konsol bersama teks lainnya.
- Cetak harga Y7 di konsol bersama teks lainnya.
- Cetak jumlah slot untuk Y6 di samping teks lainnya.
- Cetak jumlah slot untuk Y7 di samping teks lainnya.
- Program harus mengembalikan nilai setelah berhasil diselesaikan.
- Akhir badan fungsi main ().
Apa itu Kelas Privat?
Anggota kelas yang ditandai sebagai pribadi hanya dapat diakses dengan fungsi yang ditentukan di dalam kelas. Objek atau fungsi apa pun yang ditentukan di luar kelas tidak dapat mengakses anggota tersebut secara langsung. Anggota kelas privat hanya dapat diakses oleh fungsi anggota dan teman.
Apa itu Kelas yang Dilindungi?
Anggota kelas yang ditandai sebagai dilindungi memiliki keuntungan dibandingkan yang ditandai sebagai pribadi. Mereka dapat diakses oleh fungsi-fungsi dalam kelas definisi mereka. Selain itu, mereka dapat diakses dari kelas turunan.
Contoh 2:
#includeusing namespace std;class ClassA {public:void set_a(int val);int get_a(void);private:int a;};int ClassA::get_a(void) {return a;}void ClassA::set_a(int val) {a = val;}int main() {ClassA a;a.set_a(20);cout << "Value of a is: " << a.get_a();return 0;}
Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Sertakan file header iostream dalam kode kami untuk menggunakan fungsinya.
- Sertakan namespace std dalam kode kita untuk menggunakan kelasnya tanpa memanggilnya.
- Buat kelas bernama ClassA.
- Gunakan pengubah akses publik untuk menandai anggota kelas yang akan dibuat sebagai dapat diakses publik.
- Buat fungsi bernama set_a () yang menggunakan satu nilai integer val.
- Buat fungsi bernama get_a ().
- Gunakan pengubah akses pribadi untuk menandai anggota kelas yang akan dibuat sebagai dapat diakses secara pribadi.
- Deklarasikan variabel integer bernama a.
- Akhir dari badan kelas.
- Gunakan nama kelas dan operator resolusi cakupan untuk mengakses fungsi get_a (). Kami ingin mendefinisikan apa yang dilakukan fungsi saat dipanggil.
- Fungsi get_a () harus mengembalikan nilai variabel a saat dipanggil.
- Akhir dari definisi fungsi get_a ().
- Gunakan nama kelas dan operator resolusi cakupan untuk mengakses fungsi set_a (). Kami ingin mendefinisikan apa yang dilakukan fungsi saat dipanggil.
- Menetapkan nilai variabel val ke variabel a.
- Akhir dari definisi fungsi set_a ().
- Panggil fungsi main (). Logika program harus ditambahkan di dalam tubuh fungsi ini.
- Buat instance ClassA dan beri nama a.
- Gunakan instance kelas di atas dan fungsi set_a () untuk menetapkan nilai 20 ke variabel a.
- Mencetak beberapa teks di samping nilai variabel a di konsol. Nilai variabel a diperoleh dengan memanggil fungsi get_a ().
- Program harus mengembalikan nilai setelah berhasil diselesaikan.
- Akhir badan fungsi main ().
Contoh 3:
#includeusing namespace std;class ParentClass {protected:int value;};class ChildClass : public ParentClass {public:void setId(int x) {value = x;}void displayValue() {cout << "Value is: " << value << endl;}};int main() {ChildClass c;c.setId(21);c.displayValue();return 0;}
Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Sertakan file header iostream dalam kode kami untuk menggunakan fungsinya.
- Sertakan namespace std dalam kode kita untuk menggunakan kelasnya tanpa memanggilnya.
- Buat kelas bernama ParentClass.
- Gunakan pengubah akses yang dilindungi untuk menandai anggota kelas yang akan dibuat sebagai dilindungi.
- Buat variabel integer bernama nilai.
- Akhir dari badan kelas.
- Buat kelas baru bernama ChildClass yang mewarisi ParentClass.
- Gunakan pengubah akses yang dilindungi untuk menandai anggota kelas yang akan dibuat sebagai dapat diakses oleh kelas anak.
- Buat fungsi bernama setId () yang mengambil satu nilai integer x.
- Menetapkan nilai variabel x ke nilai variabel.
- Akhir dari definisi fungsi setId ().
- Buat fungsi bernama displayValue ().
- Cetak nilai dari variabel bernama value di konsol bersama teks lain.
- Akhir badan fungsi displayValue ().
- Akhir dari badan kelas bernama ChildClass.
- Panggil fungsi main (). Logika program harus ditambahkan di dalam tubuh fungsi ini.
- Buat sebuah instance dari ChildClass dan beri nama c.
- Gunakan instance kelas di atas dan fungsi setId () untuk menetapkan nilai 21 ke variabel x.
- Gunakan contoh kelas di atas untuk memanggil fungsi bernama displayValue ().
- Program harus mengembalikan nilai setelah berhasil diselesaikan.
- Akhir badan fungsi main ().
Fungsi Anggota Kelas
Fungsi membantu kami memanipulasi data. Fungsi anggota kelas dapat didefinisikan dengan dua cara:
- Di dalam definisi kelas
- Di luar definisi kelas
Jika suatu fungsi akan didefinisikan di luar definisi kelas, kita harus menggunakan operator resolusi cakupan (: :). Ini harus disertai dengan nama kelas dan fungsi.
Contoh 2:
#include#include using namespace std;class Guru99{public:string tutorial_name;int id;void printname();void printid(){cout << "Tutorial id is: "<< id;}};void Guru99::printname(){cout << "Tutorial name is: " << tutorial_name;}int main() {Guru99 guru99;guru99.tutorial_name = "C++";guru99.id = 1001;guru99.printname();cout << endl;guru99.printid();return 0;}
Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Sertakan file header iostream dalam program kami untuk menggunakan fungsinya.
- Sertakan file header string dalam program kami untuk menggunakan fungsinya.
- Sertakan namespace std dalam kode kita untuk menggunakan kelasnya tanpa memanggilnya.
- Buat kelas bernama Guru99.
- Gunakan pengubah akses publik untuk menandai anggota kelas yang akan kita buat sebagai dapat diakses publik.
- Buat variabel string bernama tutorial_name.
- Buat variabel integer bernama id.
- Buat fungsi bernama printname (). Fungsi ini tidak didefinisikan dalam definisi kelas.
- Buat fungsi bernama printed (). Fungsi ini didefinisikan dalam definisi kelas. Tubuhnya telah ditambahkan dalam definisi kelas.
- Cetak nilai id variabel bersama teks lain di konsol. Perhatikan ini telah ditambahkan di dalam tubuh fungsi printid (). Ini hanya akan dijalankan ketika fungsi printid () dipanggil.
- Akhir badan printid fungsi ().
- Akhir tubuh kelas Guru99.
- Awal definisi fungsi printname ().
- Cetak nilai variabel tutorial_name di konsol bersama teks lain. Perhatikan bahwa ini telah ditambahkan di dalam tubuh fungsi printname (). Ini hanya akan dijalankan ketika fungsi printname () dipanggil.
- Akhir dari definisi fungsi printname ().
- Panggil fungsi main (). Logika program harus ditambahkan di dalam tubuh fungsi ini.
- Buat instance kelas Guru99 dan beri nama guru99.
- Gunakan contoh di atas untuk menetapkan nilai C ++ ke variabel tutorial_name.
- Gunakan instance guru99 untuk menetapkan nilai 1001 ke id variabel.
- Gunakan contoh guru99 untuk memanggil fungsi printname ().
- Panggil perintah end (end line) untuk mencetak baris kosong baru di konsol.
- Gunakan contoh guru99 untuk memanggil fungsi printid ().
- Program harus mengembalikan nilai setelah berhasil diselesaikan.
- Akhir badan fungsi main ().
Pembuat dan Penghancur
Apa itu Konstruktor?
Konstruksi adalah fungsi khusus yang menginisialisasi objek. Compiler C ++ memanggil konstruktor saat membuat objek. Konstruktor membantu memberikan nilai kepada anggota kelas. Tentu saja, ini setelah mereka dialokasikan beberapa ruang memori.
Apa itu Destructors?
Destruktor di sisi lain membantu menghancurkan objek kelas.
Nama konstruktor harus serupa dengan nama kelas. Konstruktor tidak memiliki tipe pengembalian.
Konstruktor dapat didefinisikan di dalam atau di luar badan kelas. Jika ditentukan di luar badan kelas, itu harus ditentukan dengan nama kelas dan operator resolusi cakupan (: :).
Contoh 3:
#includeusing namespace std;class ClassA {public:ClassA() {cout << "Class constructor called"< Keluaran:
Berikut tangkapan layar kodenya:
Penjelasan Kode:
- Sertakan file header iostream ke dalam kode untuk menggunakan fungsinya.
- Sertakan namespace std dalam kode kita untuk menggunakan kelasnya tanpa memanggilnya.
- Buat kelas bernama ClassA.
- Gunakan pengubah akses publik untuk menandai anggota yang akan kita buat sebagai dapat diakses publik.
- Buat konstruktor untuk kelas.
- Teks untuk dicetak di konsol saat konstruktor dipanggil. Endl adalah kata kunci C ++, yang berarti garis akhir. Ini menggerakkan kursor mouse ke baris berikutnya.
- Akhir badan konstruktor kelas.
- Buat destruktor untuk kelas.
- Teks untuk dicetak di konsol saat destruktor dipanggil. Endl adalah kata kunci C ++, yang berarti garis akhir. Ini menggerakkan kursor mouse ke baris berikutnya.
- Akhir tubuh penghancur.
- Akhir dari badan kelas.
- Panggil fungsi main (). Logika program harus ditambahkan di dalam tubuh fungsi ini.
- Buat objek kelas dan beri nama a. Konstruktor akan dipanggil.
- Buat variabel integer bernama p dan tetapkan nilai 1.
- Buat blok pernyataan if menggunakan variabel p.
- Buat objek kelas dan beri nama b. Penghancur akan dipanggil.
- Akhir isi pernyataan if.
- Akhir badan fungsi main ().
Ringkasan:
- C ++ berorientasi objek.
- Kelas membentuk fitur utama C ++ yang membuatnya berorientasi objek.
- Kelas C ++ menggabungkan data dan metode untuk memanipulasi data menjadi satu.
- Kelas adalah cetak biru untuk suatu objek.
- Kelas menentukan bentuk suatu benda.
- Data dan metode yang terdapat dalam kelas dikenal sebagai anggota kelas.
- Untuk mengakses anggota kelas, Anda harus menggunakan instance kelas.
- Untuk membuat kelas, kami menggunakan kata kunci kelas.
- Fungsi anggota kelas dapat didefinisikan di dalam atau di luar kelas.