Selasa, 07 Agustus 2012

C++


C++ diciptakan oleh Bjarne di laboratorium Bell, yang merupakan pengembangan dari bahasa C dan simula. Saat ini bahasa C++ sangat popular dalam pengembangan software yang berbasis OOP.


Dalam C++ Struct dan class mempunyai penulisan yang sama. Deklarasi class dan struct memiliki anggota dengan akses public kecuali jika dinyatakan lain.

C ++ tidak membedakan nama class dan nama tag, paling tidak dari sudut pandang pemprogram dan tetap menerima deklarasi structure.
Kompatibilitas C ++ tidak sebatas pada perbedaan nama class daan nama type karena C++ masih memerlukan definisi type POD (Plain Old Data). C++ mendefinisikan POD Type sebagai objek suatu class yang tidak mempunyai userdefined constructor, anggota protected maupun private, tidak memiliki base class dan tidak memiliki fungsi virtual.


Compiller C++ dapat menambahkan default constructor apabila diperlukan, jika dalam
definisi class:

  • Tidak tertulis secara eksplisit default constructor dan tidak ada dejlarasi constructor lain.
  • Tidak ada anggota class berupa data const maupun referens.

Cara kerja C++ ada 2 tahap :

  • Pertama, inisialisasi data
  • Kedua, ekesekusi constructor

Jika menggunakan langkah kedua , eksekusi program dilakukan 2 kali: pertama inisialisasi data lalu assignment. Sedangkan menggunakan member initialization hanya memanggil sekali memanggil constructor calss string. Sonstructor dengan satu argument berfungsi sebagai implicit conversion operator .
Sebagai contoh deklarasi class A dan B berikut :

Class A
{
Public :
A () ;
} ;
Class B
{
Public :
B (const A&) ;
} ;

Lalu terjadi konversi type obyek A ke B secara implicit melalui Copy constructor B

A a
B b=a ; //implicit conversion
2


C++ menyediakn suatu sarana yang menggunakan keyword Eksplisit untuk merubah constructor dengan satu argumen agar tidak berfungsi sebagai conversion operator.
Jika class B menyatakan explicit pada copy constructor sebagai berikut :

Class B
{
Public :
Explicit B (const A& a) ; //explicit ctor
} ;


Tidak ada komentar:

Posting Komentar

Silakan tinggalkan komentar Anda