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 daan struct memiliki anggota dengan akses public kecuali jika dinyatakan lain.
 
Struct C           Class C
{                 {
int  I           public  :
void f ()  ;        int  I  ;  
}                void f () 
                  }
Kedua deklarasi tersebut memiliki arti yang sama.
Hal ini adalah pilihan desain yang diambil oleh desainer C++ (Bjarne Stroustrup) untuk menggunakn C sebagai basis C++  daripada harus menggunakan bahasa baru.
C ++  tidak membedakan nama class dan nama tag, paling tidak dari sudut pandang programmer dan tetap menerima deklarasi structure. Kompatibilitas C ++ tidak sebatas pada perbedaan nama type daan nama class karena C++ masih perlu mendefinisikan type POD (Plain Old Data). C++ mendefinisikan POD Type sebagai objek suatu class yang tidak memiliki userdefined constructor, anggota protected maupun private, tidak memiliki base class dan tidak memiliki fungsi virtual.
Compiller C++ dapat menambahkan default constructor bilamana diperlukan, apabila dalam definisi class:
• Tidak tertulis secara eksplisit default constructor dan tidak ada dejlarasi constructor lain.
• Tidak ada anggota class berupa data const maupun referens.
Adapun cara kerja C++  ada 2 tahap :
• Pertama, inisialisasi data
• Kedua, ekesekusi constructor (assignment)
Jika menggunakan Assignment , 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
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 :
Konversi A ke B dapat dilakuakn secara eksplisit dengan menggunakan typecast :
A    a ;
B    b=statistic_cast <B>(a)   ; atau
B    b=(B) a  ;
Bahasa C++
10 November 2009
Label:
Bahasa Program
Di Batam
01.24
Langganan:
Posting Komentar (Atom)


0 komentar:
Posting Komentar