Kelas dan Objek C ++

Dalam tutorial ini, kita akan belajar tentang objek dan kelas dan bagaimana menggunakannya dalam C ++ dengan bantuan contoh.

Dalam tutorial sebelumnya, kita belajar tentang fungsi dan variabel. Terkadang diinginkan untuk meletakkan fungsi dan data terkait di satu tempat sehingga logis dan lebih mudah untuk dikerjakan.

Misalkan, kita perlu menyimpan panjang, lebar, dan tinggi sebuah ruangan persegi panjang dan menghitung luas dan volumenya.

Untuk menangani tugas ini, kita dapat membuat tiga variabel, katakanlah, panjang, lebar, dan tinggi beserta fungsi calculateArea()dan calculateVolume().

Namun, di C ++, daripada membuat variabel dan fungsi terpisah, kita juga bisa menggabungkan data dan fungsi terkait ini di satu tempat (dengan membuat objek ). Paradigma pemrograman ini dikenal dengan istilah pemrograman berorientasi objek.
Tetapi sebelum kita dapat membuat objek dan menggunakannya dalam C ++, pertama-tama kita perlu belajar tentang kelas .

Kelas C ++

Kelas adalah cetak biru untuk objek tersebut.
Kita bisa menganggap kelas sebagai sketsa (prototipe) sebuah rumah. Ini berisi semua detail tentang lantai, pintu, jendela, dll. Berdasarkan uraian ini kami membangun rumah. Rumah adalah objeknya.

Buat Kelas

Kelas didefinisikan dalam C ++ menggunakan kata kunci classdiikuti dengan nama kelas.

Badan kelas ditentukan di dalam tanda kurung kurawal dan diakhiri dengan titik koma di bagian akhir.

 class className ( // some data // some functions );

Sebagai contoh,

 class Room ( public: double length; double breadth; double height; double calculateArea()( return length * breadth; ) double calculateVolume()( return length * breadth * height; ) );

Di sini, kami mendefinisikan kelas bernama Room.

Variabel panjang, lebar, dan tinggi yang dideklarasikan di dalam kelas dikenal sebagai anggota data . Dan, fungsi calculateArea()dan calculateVolume()dikenal sebagai fungsi anggota kelas.

Objek C ++

Ketika kelas didefinisikan, hanya spesifikasi untuk objek yang ditentukan; tidak ada memori atau penyimpanan yang dialokasikan.

Untuk menggunakan data dan fungsi akses yang didefinisikan di kelas, kita perlu membuat objek.

Sintaks untuk Mendefinisikan Objek di C ++

 className objectVariableName;

Kita dapat membuat objek Roomkelas (didefinisikan dalam contoh di atas) sebagai berikut:

 // sample function void sampleFunction() ( // create objects Room room1, room2; ) int main()( // create objects Room room3, room4; )

Di sini, dua objek room1 dan room2 Roomkelas dibuat sampleFunction(). Demikian pula, objek room3 dan room4 dibuat main().

Seperti yang bisa kita lihat, kita bisa membuat objek kelas dalam fungsi apa pun dari program. Kita juga dapat membuat objek kelas di dalam kelas itu sendiri, atau di kelas lain.

Juga, kita dapat membuat objek sebanyak yang kita inginkan dari satu kelas.

C ++ Akses Anggota Data dan Fungsi Anggota

Kita dapat mengakses data anggota dan fungsi anggota suatu kelas dengan menggunakan .operator (titik). Sebagai contoh,

 room2.calculateArea();

Ini akan memanggil calculateArea()fungsi di dalam Roomkelas untuk objek room2.

Demikian pula, data anggota dapat diakses sebagai:

 room1.length = 5.5;

Dalam hal ini, ini menginisialisasi variabel panjang ruangan1 menjadi 5.5.

Contoh 1: Objek dan Kelas dalam Pemrograman C ++

 // Program to illustrate the working of // objects and class in C++ Programming #include using namespace std; // create a class class Room ( public: double length; double breadth; double height; double calculateArea() ( return length * breadth; ) double calculateVolume() ( return length * breadth * height; ) ); int main() ( // create object of Room class Room room1; // assign values to data members room1.length = 42.5; room1.breadth = 30.8; room1.height = 19.2; // calculate and display the area and volume of the room cout << "Area of Room = " << room1.calculateArea() << endl; cout << "Volume of Room = " << room1.calculateVolume() << endl; return 0; )

Keluaran

 Luas Ruangan = 1309 Volume Ruangan = 25132.8

Dalam program ini, kita telah menggunakan Roomkelas dan objeknya room1 untuk menghitung luas dan volume ruangan.

Di main(), kami menetapkan nilai panjang, lebar, dan tinggi dengan kode:

 room1.length = 42.5; room1.breadth = 30.8; room1.height = 19.2;

Kami kemudian memanggil fungsi calculateArea()dan calculateVolume()melakukan perhitungan yang diperlukan.

Perhatikan penggunaan kata kunci publicdalam program tersebut. Ini berarti anggotanya bersifat publik dan dapat diakses di mana saja dari program.

Sesuai kebutuhan kami, kami juga dapat membuat anggota pribadi menggunakan privatekata kunci. Anggota privat kelas hanya dapat diakses dari dalam kelas. Sebagai contoh,

 class Test ( private:
  int a; void function1() ( ) public: int b; void function2() ( ) ) Here, a and function1() are private and are. Thus they cannot be accessed from outside the class.

Di sisi lain, b dan function2()dapat diakses dari mana saja dalam program.

Untuk mempelajari lebih lanjut tentang kata kunci publik dan pribadi, silakan kunjungi tutorial Pengubah Akses Kelas C ++ kami.

Contoh 2: Menggunakan publik dan pribadi di Kelas C ++

 // Program to illustrate the working of // public and private in C++ Class #include using namespace std; class Room ( private: double length; double breadth; double height; public: // function to initialize private variables void getData(double len, double brth, double hgt) ( length = len; breadth = brth; height = hgt; ) double calculateArea() ( return length * breadth; ) double calculateVolume() ( return length * breadth * height; ) ); int main() ( // create object of Room class Room room1; // pass the values of private variables as arguments room1.getData(42.5, 30.8, 19.2); cout << "Area of Room = " << room1.calculateArea() << endl; cout << "Volume of Room = " << room1.calculateVolume() << endl; return 0; )

Keluaran

 Luas Ruangan = 1309 Volume Ruangan = 25132.8

Contoh di atas hampir identik dengan contoh pertama, kecuali bahwa variabel kelas sekarang bersifat pribadi.

Karena variabel sekarang bersifat pribadi, kami tidak dapat mengaksesnya langsung dari main(). Karenanya, menggunakan kode berikut tidak valid:

 // invalid code obj.length = 42.5; obj.breadth = 30.8; obj.height = 19.2;

Sebaliknya, kita menggunakan fungsi publik getData()untuk menginisialisasi variabel pribadi melalui parameter fungsi double len, double brthdan double hgt.

Untuk mempelajari lebih lanjut tentang objek dan kelas, kunjungi topik ini:

  • Pembuat C ++
  • Bagaimana cara melewatkan dan mengembalikan objek dari suatu fungsi?

Artikel yang menarik...