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

Konstruktor C++

Konstruktor C++

Dalam tutorial ini, kita akan belajar tentang konstruktor C++ dan tipenya dengan contoh bantuan.

Konstruktor adalah tipe khusus dari fungsi anggota yang dipanggil secara otomatis saat objek dibuat.

Dalam C++, konstruktor memiliki nama yang sama dengan nama kelas dan tidak memiliki tipe pengembalian. Misalnya,

class  Wall {
  public:
    // create a constructor
    Wall() {
      // code
    }
};

Di sini, fungsi Wall() adalah konstruktor dari kelas Wall . Perhatikan bahwa konstruktor


Konstruktor Default C++

Konstruktor tanpa parameter dikenal sebagai konstruktor default . Pada contoh di atas, Wall() adalah konstruktor default.


Contoh 1:Konstruktor Default C++

// C++ program to demonstrate the use of default constructor

#include <iostream>
using namespace std;

// declare a class
class  Wall {
  private:
    double length;

  public:
    // default constructor to initialize variable
    Wall() {
      length = 5.5;
      cout << "Creating a wall." << endl;
      cout << "Length = " << length << endl;
    }
};

int main() {
  Wall wall1;
  return 0;
}

Keluaran

Creating a Wall
Length = 5.5

Di sini, ketika wall1 objek dibuat, Wall() konstruktor disebut. Ini menetapkan panjang variabel objek ke 5.5 .

Catatan: Jika kita belum mendefinisikan konstruktor di kelas kita, maka kompiler C++ akan secara otomatis membuat konstruktor default dengan kode kosong dan tanpa parameter.


Konstruktor Berparameter C++

Dalam C++, konstruktor dengan parameter dikenal sebagai konstruktor berparameter. Ini adalah metode yang disukai untuk menginisialisasi data anggota.


Contoh 2:Konstruktor Berparameter C++

// C++ program to calculate the area of a wall

#include <iostream>
using namespace std;

// declare a class
class Wall {
  private:
    double length;
    double height;

  public:
    // parameterized constructor to initialize variables
    Wall(double len, double hgt) {
      length = len;
      height = hgt;
    }

    double calculateArea() {
      return length * height;
    }
};

int main() {
  // create object and initialize data members
  Wall wall1(10.5, 8.6);
  Wall wall2(8.5, 6.3);

  cout << "Area of Wall 1: " << wall1.calculateArea() << endl;
  cout << "Area of Wall 2: " << wall2.calculateArea();

  return 0;
}

Keluaran

Area of Wall 1: 90.3
Area of Wall 2: 53.55

Di sini, kami telah membuat konstruktor berparameter Wall() yang memiliki 2 parameter:double len dan double hgt . Nilai yang terkandung dalam parameter ini digunakan untuk menginisialisasi variabel anggota length dan tinggi .

Saat kita membuat objek Wall kelas, kami meneruskan nilai untuk variabel anggota sebagai argumen. Kode untuk ini adalah:

Wall wall1(10.5, 8.6);
Wall wall2(8.5, 6.3);

Dengan variabel anggota yang diinisialisasi, sekarang kita dapat menghitung luas dinding dengan calculateArea() fungsi.


Konstruktor Salin C++

Copy constructor di C++ digunakan untuk menyalin data dari satu objek ke objek lainnya.


Contoh 3:Konstruktor Salin C++

#include <iostream>
using namespace std;

// declare a class
class Wall {
  private:
    double length;
    double height;

  public:

    // initialize variables with parameterized constructor
    Wall(double len, double hgt) {
      length = len;
      height = hgt;
    }

    // copy constructor with a Wall object as parameter
    // copies data of the obj parameter
    Wall(Wall &obj) {
      length = obj.length;
      height = obj.height;
    }

    double calculateArea() {
      return length * height;
    }
};

int main() {
  // create an object of Wall class
  Wall wall1(10.5, 8.6);

  // copy contents of wall1 to wall2
  Wall wall2 = wall1;

  // print areas of wall1 and wall2
  cout << "Area of Wall 1: " << wall1.calculateArea() << endl;
  cout << "Area of Wall 2: " << wall2.calculateArea();

  return 0;
}

Keluaran

Area of Wall 1: 90.3
Area of Wall 2: 90.3

Dalam program ini, kami telah menggunakan konstruktor salinan untuk menyalin konten dari satu objek Wall kelas ke yang lain. Kode dari copy constructor adalah:

Wall(Wall &obj) {
  length = obj.length;
  height = obj.height;
}

Perhatikan bahwa parameter konstruktor ini memiliki alamat objek Wall kelas.

Kami kemudian menetapkan nilai variabel dari obj objek ke variabel yang sesuai dari objek yang memanggil konstruktor salinan. Beginilah cara konten objek disalin.

Dalam main() , kita kemudian membuat dua objek wall1 dan wall2 lalu salin konten wall1 ke wall2 :

// copy contents of wall1 to wall2
Wall wall2 = wall1;

Di sini, wall2 objek memanggil konstruktor salinannya dengan meneruskan alamat wall1 objek sebagai argumennya yaitu &obj = &wall1 .

Catatan :Sebuah konstruktor terutama digunakan untuk menginisialisasi objek. Mereka juga digunakan untuk menjalankan kode default ketika sebuah objek dibuat.


Bahasa C

  1. Konstruktor C#
  2. C# Konstruktor Overloading
  3. Tipe Data C++
  4. Operator C++
  5. Komentar C++
  6. Template Kelas C++
  7. Konstruktor Java
  8. Java - Konstruktor
  9. Ikhtisar C++
  10. Konstanta/Literal C++