Perbedaan antara Struktur dan Kelas:Dijelaskan dengan Contoh C++
Apa itu Struktur?
Struktur adalah tipe data yang ditentukan pengguna yang menggabungkan item data yang terkait secara logis dari berbagai tipe data seperti float, char, int, dll., bersama-sama.
Semua elemen struktur disimpan di lokasi memori yang berdekatan. Variabel tipe struktur membantu Anda menyimpan lebih dari satu item data dari berbagai tipe data di bawah satu nama.
Apa itu Kelas?
Kelas adalah cetak biru atau seperangkat instruksi untuk membangun jenis objek tertentu. Ini adalah konsep dasar Pemrograman Berorientasi Objek yang berputar di sekitar entitas kehidupan nyata. Kelas dalam bahasa pemrograman menentukan bagaimana suatu objek akan berperilaku dan apa isi objek tersebut.
Kelas juga merupakan tipe data yang ditentukan pengguna yang dapat memiliki berbagai jenis tipe data dan fungsi anggota di dalam tubuhnya.
Sintaks Kelas di C++
Berikut adalah sintaks Kelas:
class class-name
{
// data
// functions
};
Dalam sintaks di atas, nama kelas adalah nama yang ditetapkan ke kelas. Data adalah anggota kelas, biasanya dideklarasikan sebagai variabel. Fungsi di sini adalah fungsi kelas.
Sintaks Struktur dalam C++
Berikut adalah sintaks dari Struktur:
struct struct_name
{
// struct data members
}
Dalam sintaks di atas, kata kunci struct digunakan. struct_name adalah nama struktur. Anggota struct ditambahkan dalam kurung kurawal. Anggota ini mungkin memiliki tipe data yang berbeda.
Perbedaan antara Struktur dan Kelas
Inilah perbedaan utama antara Struktur dan Kelas:
Struktur
Kelas
Struktur adalah tipe data yang ditentukan pengguna yang menggabungkan item data yang terkait secara logis dari tipe data yang berbeda seperti char, float, int, dll., bersama-sama. Kelas adalah cetak biru atau serangkaian instruksi untuk membangun tipe objek tertentu. Struktur dapat berupa dideklarasikan menggunakan kata kunci struct. Dapat dideklarasikan menggunakan kata kunci class. Ini adalah tipe data tipe nilai. Ini adalah tipe data tipe referensi. Anda tidak dapat mewarisinya dari struktur atau kelas lain. Anda dapat mewarisinya dari struktur atau kelas lain .Itu dapat membuat instance objek tanpa menggunakan kata kunci baru. Dapat membuat instance objek menggunakan kata kunci baru. Anda tidak dapat mengubah konstruktor default struktur. Anda dapat mengubah konstruktor default kelas. Struktur tidak dapat memiliki destructor. Kelas dapat memiliki destructor. struktur, semua jenis nilai dialokasikan pada tumpukan. Di kelas, semua jenis nilai dialokasikan pada tumpukan. Digunakan dalam program kecil. Digunakan dalam program besar. Fungsi anggota tidak dapat abstrak atau virtual. Fungsi anggota dapat abstrak atau virt ual.Instance struktur disebut 'variabel struktur'. Instance kelas disebut objek. Tidak boleh memiliki nilai nol. Dapat memiliki nilai nol. Variabel anggota struktur tidak dapat dimulai secara langsung. Variabel anggota kelas dapat dimulai secara langsung. Jika Anda belum mendeklarasikan penentu akses apa pun, maka anggota struktur bersifat publik. Jika Anda belum mendeklarasikan penentu akses apa pun, maka anggota kelas bersifat pribadi.
Mana Yang Harus Anda Pilih?
Jika Anda memiliki jejak memori yang besar atau suka menggunakan konsep seperti pewarisan, maka Anda dapat memilih kelas. Di sisi lain, struktur dapat digunakan saat Anda memiliki bidang memori kecil atau footprint yang diperlukan untuk menginisialisasi nilai default.
PERBEDAAN UTAMA
Struktur adalah tipe data yang ditentukan pengguna yang menggabungkan item data yang terkait secara logis dari tipe data yang berbeda, sedangkan Kelas adalah cetak biru atau sekumpulan instruksi untuk membangun tipe objek tertentu.
Struktur adalah tipe data tipe nilai, sedangkan kelas adalah tipe data tipe referensi.
Anda tidak dapat mengubah konstruktor default dari struktur sedangkan Anda dapat mengubah konstruktor default kelas.
Struktur tidak dapat memiliki destruktor, sebaliknya kelas dapat memiliki destruktor.
Kelas digunakan dalam program kecil, sedangkan struktur digunakan dalam program besar.
Dalam struktur, semua jenis nilai dialokasikan di tumpukan sementara di kelas, semua jenis nilai dialokasikan di tumpukan.
Instance dari 'struktur' disebut 'variabel struktur' sedangkan instance dari 'kelas' disebut 'objek.'
Variabel anggota struktur tidak dapat dimulai secara langsung sedangkan variabel anggota kelas dapat dimulai secara langsung.