Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Kelas dan Objek C++

Kelas dan Objek C++

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

Dalam tutorial sebelumnya, kita telah mempelajari tentang fungsi dan variabel. Terkadang diinginkan untuk meletakkan fungsi dan data terkait di satu tempat sehingga logis dan mudah digunakan.

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, misalnya length , lebar , dan tinggi bersama dengan fungsi calculateArea() dan calculateVolume() .

Namun, dalam C++, daripada membuat variabel dan fungsi terpisah, kita juga dapat membungkus data dan fungsi terkait ini di satu tempat (dengan membuat objek ). Paradigma pemrograman ini dikenal sebagai pemrograman berorientasi objek.

Tapi sebelum kita bisa membuat objek dan menggunakannya dalam C++, pertama-tama kita perlu mempelajari kelas .


Kelas C++

Kelas adalah cetak biru untuk objek.

Kita dapat menganggap kelas sebagai sketsa (prototipe) sebuah rumah. Ini berisi semua detail tentang lantai, pintu, jendela, dll. Berdasarkan deskripsi ini kami membangun rumah. Rumah adalah objeknya.

Buat Kelas

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

Badan kelas didefinisikan di dalam kurung kurawal dan diakhiri dengan titik koma di akhir.

class className {
   // some data
   // some functions
};

Misalnya,

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 dideklarasikan di dalam kelas dikenal sebagai anggota data . Dan, fungsi calculateArea() dan calculateVolume() dikenal sebagai fungsi anggota dari sebuah kelas.


Objek C++

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

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


Sintaks untuk Mendefinisikan Objek di C++

className objectVariableName;

Kita dapat membuat objek Room class (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 kamar2 dari Room kelas dibuat di sampleFunction() . Demikian pula, objek room3 dan kamar4 dibuat di main() .

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

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


C++ Mengakses Data Anggota dan Fungsi Anggota

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

room2.calculateArea();

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

Demikian pula, data anggota dapat diakses sebagai:

room1.length = 5.5;

Dalam hal ini, ini menginisialisasi length variabel kamar1 ke 5.5 .


Contoh 1:Objek dan Kelas dalam Pemrograman C++

// Program to illustrate the working of
// objects and class in C++ Programming

#include <iostream>
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

Area of Room =  1309
Volume of Room =  25132.8

Dalam program ini, kami telah menggunakan Room kelas dan objeknya room1 untuk menghitung luas dan volume ruangan.

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

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

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

Perhatikan penggunaan kata kunci public dalam program. Ini berarti anggota bersifat publik dan dapat diakses di mana saja dari program.

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

class Test {

private:
    int a;
    void function1() { }

public:
    int b;
    void function2() { }
}

Di sini, a dan function1() bersifat pribadi. Dengan demikian mereka tidak dapat diakses dari luar kelas.

Sebaliknya, 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 <iostream>
using namespace std;

class Room {

   private:
    double length;
    double breadth;
    double height;

   public:

    // function to initialize private variables
    void initData(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.initData(42.5, 30.8, 19.2);

    cout << "Area of Room =  " << room1.calculateArea() << endl;
    cout << "Volume of Room =  " << room1.calculateVolume() << endl;

    return 0;
}

Keluaran

Area of Room =  1309
Volume of Room =  25132.8

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

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

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

Sebagai gantinya, kami menggunakan fungsi publik initData() untuk menginisialisasi variabel pribadi melalui parameter fungsi double len , double brth , dan double hgt .

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


Bahasa C

  1. C# Kelas dan Objek
  2. C# kelas abstrak dan metode
  3. C# Kelas Parsial dan Metode Parsial
  4. C# kelas dan metode tersegel
  5. Fungsi teman C++ dan Kelas teman
  6. Template Kelas C++
  7. Kelas dan Objek Java
  8. Struktur dan kelas dalam C++
  9. Perbedaan antara Struktur dan Kelas:Dijelaskan dengan Contoh C++
  10. Kelas Penyimpanan di C++