Kelas dan Objek C ++

Dalam tutorial ini, kita akan belajar mengenai objek dan kelas dan cara menggunakannya di C ++ dengan bantuan contoh.

Dalam tutorial sebelumnya, kami belajar mengenai fungsi dan pemboleh ubah. Kadang-kadang adalah wajar untuk meletakkan fungsi dan data yang berkaitan di satu tempat supaya logik dan lebih senang digunakan.

Katakan, kita perlu menyimpan panjang, lebar, dan ketinggian bilik segi empat tepat dan mengira luas dan isipadu.

Untuk menangani tugas ini, kita dapat membuat tiga pemboleh ubah, katakanlah, panjang, lebar, dan tinggi bersama dengan fungsi calculateArea()dan calculateVolume().

Namun, dalam C ++, daripada membuat pemboleh ubah dan fungsi yang terpisah, kita juga dapat membungkus data dan fungsi yang terkait ini dalam satu tempat (dengan membuat objek ). Paradigma pengaturcaraan ini dikenali sebagai pengaturcaraan berorientasikan objek.
Tetapi sebelum kita dapat membuat objek dan menggunakannya dalam C ++, pertama-tama kita perlu belajar mengenai kelas .

Kelas C ++

Kelas adalah cetak biru untuk objek.
Kita boleh menganggap kelas sebagai lakaran (prototaip) rumah. Ini mengandungi semua perincian mengenai lantai, pintu, tingkap, dan lain-lain. Berdasarkan keterangan ini kami membina rumah. Rumah adalah objek.

Buat Kelas

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

Badan kelas didefinisikan di dalam kurungan keriting dan diakhiri dengan titik koma di hujungnya.

 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 menentukan kelas yang dinamakan Room.

Pemboleh ubah panjang, lebar, dan tinggi yang dinyatakan di dalam kelas dikenali sebagai ahli data . Dan, fungsi calculateArea()dan calculateVolume()dikenali sebagai fungsi anggota kelas.

Objek C ++

Apabila kelas ditentukan, hanya spesifikasi untuk objek yang ditentukan; tiada memori atau simpanan diperuntukkan.

Untuk menggunakan fungsi data dan akses yang ditentukan dalam kelas, kita perlu membuat objek.

Sintaks untuk Mendefinisikan Objek dalam C ++

 className objectVariableName;

Kita boleh membuat objek Roomkelas (ditakrifkan dalam contoh di atas) seperti 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 di sampleFunction(). Begitu juga, objek3 bilik dan bilik4 dibuat di main().

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

Kita juga boleh membuat seberapa banyak objek yang kita mahukan dari satu kelas.

C ++ Akses Data Anggota dan Fungsi Anggota

Kita boleh mengakses data anggota dan fungsi anggota kelas dengan menggunakan .operator (dot). Sebagai contoh,

 room2.calculateArea();

Ini akan memanggil calculateArea()fungsi di dalam Roomkelas untuk ruang objek2.

Begitu juga, anggota data dapat diakses seperti:

 room1.length = 5.5;

Dalam kes ini, ia memulakan pemboleh ubah panjang ruangan1 hingga 5.5.

Contoh 1: Objek dan Kelas dalam Pengaturcaraan 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; )

Pengeluaran

 Luas Bilik = 1309 Isipadu Bilik = 25132.8

Dalam program ini, kami telah menggunakan Roomkelas dan ruang objeknya1 untuk mengira luas dan isipadu bilik.

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

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

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

Perhatikan penggunaan kata kunci publicdalam program. Ini bermaksud anggotanya bersifat terbuka dan boleh diakses di mana sahaja dari program ini.

Sesuai dengan keperluan kami, kami juga dapat membuat ahli peribadi menggunakan privatekata kunci. Ahli peribadi kelas hanya boleh 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.

Sebaliknya, b dan function2()dapat diakses dari mana-mana tempat dalam program ini.

Untuk mengetahui lebih lanjut mengenai kata kunci awam dan peribadi, sila kunjungi tutorial Pengubah Akses Kelas C ++ kami.

Contoh 2: Menggunakan awam dan swasta 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; )

Pengeluaran

 Luas Bilik = 1309 Isipadu Bilik = 25132.8

Contoh di atas hampir sama dengan contoh pertama, kecuali bahawa pemboleh ubah kelas kini bersifat peribadi.

Oleh kerana pemboleh ubah kini bersifat peribadi, kami tidak dapat mengaksesnya secara langsung dari main(). Oleh itu, menggunakan kod berikut tidak sah:

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

Sebaliknya, kita menggunakan fungsi awam getData()untuk memulakan pembolehubah swasta melalui parameter fungsi double len, double brthdan double hgt.

Untuk mengetahui lebih lanjut mengenai objek dan kelas, lawati topik berikut:

  • Pembina C ++
  • Bagaimana melewati dan mengembalikan objek dari fungsi?

Artikel menarik...