ek dek Bjarne Stroustrup, nan marupokan perkembangan dari bahaso C dikambangkan di Bell Labs (Dennis Ritchie) pado awal tahun 1970-an, bahaso tu diturunkan dari bahaso sabalumnyo, inyo tu B. Pado awalnyo, bahaso tu dirancang sabagai bahaso pemrograman nan dijalankan pado sistem Unix. Pado parkambangannyo, versi ANSI (American National Standards Institute) pado bahaso pemrograman C manjadi versi dominan, maskipun versi tu sakarang jarang dipakai jo pangembangan sistem jo jaringan maupun untuak sistem embedded. Bjarne Stroustrup pado Bell Labs patamo kali mangembangkan C++ pado awal 1980-an. Untuak mandukuang fitur-fitur pado C++, dibangun efisiensi jo sistem support untuak pemrograman tingkek randah (low level coding).[1] Pado C++ ditambahan konsep-konsep baru sarupo class jo sifeik-sifeiknyo sarupo inheritance jo overloading.[rujuakan?] Salah satu perbedaan nan paliang mandasa jo bahasa C adolah dukungan kapado konsep pemrograman berorientasi objek (object-oriented programming).[2][3]

Standarisasi

suntiang
Year C++ Standard Informal name
2011 ISO/IEC 14882:2011[4] C++11
2007 ISO/IEC TR 19768:2007[5] C++TR1
2003 ISO/IEC 14882:2003[6] C++03
1998 ISO/IEC 14882:1998[7] C++98

Pado tahun 1998, C++ Standar Komite (ISO/IEC JTC1/SC22/WG21 Working Group) mangaluaran Standar Internasional ISO/IEC 14882:1998 nan digunoan salamo beberapo tahun. Pada tahun 2003 dirilis versi nan alah dikoreksi, ISO/IEC 14882:2003. Pado tahun 2005, Laporan Teknis nan disabuik "Laporan Teknis Perpustakaan 1" (saring dikana sabagai TR1) dirilis. Revisi tabaru dari standar C++ adolah C+11 (sabalumnya dikana C++0x) alah disetujui dek ISO/IEC pado tanggal 12 Agustus 2011 jo alah ditarbitkan sabagai 14882:11.

Contoh Program C++

suntiang

Contoh program sederhana C++ untuak Hello world jo menggunokan pustaka dasar C++ dapek dicaliak di bawah iko:[rujuakan?]

#include <iostream>
using namespace std;
int main(){

string nama_saya ="Panggih Dafa Najmuddin";
string waras_kelas = "11";
Int tinggi_badan = 175;
char golongan_darah = "0";

count<<"string nama_saya :"<<Panggih_dafa<<endl;
count<<"walas_kelas :"<<11<<endl;
count<<"tinggi badan :"<<175<<endl
count<<"golongan darah :"<<AB<<endl;



{
	cout <<"hello world"<<endl;
	return 0;
}

Keterangan

suntiang

Baris patamo:

#include <iostream.h>

Sabagai bagian dari proses kompilator, kompilator dari c++ manjalankan program nan dinamoan preprosesor.[rujuakan?] Preprosesor ado kemampuan manambahan jo manghapui kode dari sumber. Pado bagian #include mambaritahuan preprosesor untuak manyertakan kode dari iostream, berkas iostream barisi deklarasi untuak barbagai fungsi nan dibutuhan dek perangkek luneik, atau class-class nan dibutuhan.[8] Baris kaduo:

int main ()

Pernyataan iko mendeklarasiaan fungsi utamo, bahwa suatu program C++ dapek barisi banyak fungsi, nan harus dipunyoi sebuah fungsi utamo (main function). Fungsi adolah modul nan barisi kode-kode untuak manyalasaian masalah-masalah tatentu. Kato Void manandoan fungsi main indak batipe.[8] Baris katigo:

{

Kurung kurawa buka manandoan awal program.[8] Baris kaampek:

std::cout << "Hello world\n";

Cout adolah sabuah object dari pustaka perangkek luneik standar C++ nan digunoan untuak mancetak string ka piranti output standar, nan biasonyo adolah layar komputer, kompilator manghubungkan kode dari pustaka perangkek luneik standar tu jo kode nan alah ditulih untuak mandapekan hasil executable. Tanda

\n

adolah format modifier nan digunoan untuak baganti baris setelah manampilkan string, jiko ado cout lain pado program tasabuik, mako string nan manyertainyo akan dituliskan pado baris bawahnyo.[8] Baris kalimo:

# include <stdio.h>

int maksimum (int,int);
void tulis (int);

main()
int nilai 1,nilai 2,nilai maks;
printf (*\n ketikkan dua bilangan bulat:);
scanf("%d%d",& nilai 1,nilai 2);

nilai maks=maksimum (nilai 1,nilai 2);
tulis(nilai maks);
returns 0;

int maksimum(int x1,int x2)
if (x1>x2)
return x1;
else
return x2;

void tulis(int x)
printf("\n hasilnya adalah:%d",x);

Kurung kurawa tutuik manandoan akhir program.[9]

Kato nan dipasan

suntiang

Kalompok patamo

suntiang

C++ mampunyoi 32 buah kato nan dipasan (reserved words). Kato kunci kalompok patamo marupokan turunan dari bahasa C, di antaronyo:[9]

auto const double int short struct unsigned
break continue else for long signed switch void
case default enum goto register sizeof typedef volatile
char do extern if return static union while

Kalompok kaduo

suntiang

Kato nan dipasan kalompok kaduo bajumlah 30. Kato-kato iko adolah baru jo hanyo ado di bahasa C++.[10]

asm dynamic_cast namespace reinterpret_cast try
bool explicit new static_cast typeid
catch false operator template typename
class friend private this using
const_cast inline public throw virtual
delete mutable protected true wchar_t

Kato-kato nan dipasan tasabuik di ateh indak buliah dipakai sabagai namo variable, class, enum, macro, jo struct.[10]

# include <stdio.h>

int maksimum (int,int);
void tulis (int);

main()
int nilai 1,nilai 2,nilai maks;
printf (*\n ketikkan dua bilangan bulat:);
scanf("%d%d",& nilai 1,nilai 2);

nilai maks=maksimum (nilai 1,nilai 2);
tulis(nilai maks);
returns 0;

int maksimum(int x1,int x2)
if (x1>x2)
return x1;
else
return x2;

void tulis(int x)
printf("\n hasilnya adalah:%d",x);

Tipe data dasa

suntiang

Untuak manyimpan suatu variabel diparaluan tampek khusus di dalam memori komputer. Gadang jo tipe dari variabel-variabel di dalam standar program C++ dispesifikasian sabagai barikuik.[10]

Nama Keterangan Ukuran Jangkauan
char Abjad/karakter atau untuk bilangan bulat kecil 1 byte signed: -128 to 127

unsigned: 0 to 255

short int (short) Bilangan bulat dengan jangkauan pendek 2 byte signed: -32768 to 32767

unsigned: 0 to 65535

int Bilangan bulat 4 byte signed: -2147483648 to 2147483647

unsigned: 0 to 4294967295

long int (long) Integer dengan jangkauan panjang 4 byte signed: -2147483648 to 2147483647

unsigned: 0 to 4294967295

bool Boolean, dapat bernilai benar atau salah (true or false) i byte true or false
float Angka dengan titik mengambang (bilangan cacah) 4 byte 3.4e +/- 38 (7 digit)
double Bilangan cacah dengan ketelitian ganda 8 byte 1.7e +/- 308 (15 digits)
long double Bilangan cacah dengan ketelitian ganda panjang 8 byte 1.7e +/- 308 (15 digits)
wchar_t Karakter lebar, biasa dipakai untuk Unicode karakter 2 byte 1 karakter lebar

Kompilator C++

suntiang
  • Acorn C/C++
  • Borland C++
  • C++/CX
  • C++Builder
  • Cfront
  • Clang
  • CodeWarrior
  • Comeau C/C++
  • ConceptGCC
  • Digital Mars
  • GNU Compiler Collection
  • HP aC++
  • IBM XL C++
  • Intel C++ Compiler
  • MinGW
  • Norcroft C compiler
  • Open64
  • Oracle Solaris Studio
  • PathScale
  • The Portland Group
  • ROSE (compiler framework)
  • Shed Skin
  • Softune
  • TenDRA Compiler
  • THINK C
  • Turbo C++
  • Visual C++
  • IBM VisualAge
  • Watcom C/C++ compiler
  • Zortech

Kaluargo bahaso pemrograman C++

suntiang
  • Algorithmic skeleton
  • C++/CLI
  • C++/CX
  • Charm++
  • Embedded C++
  • Felix (programming language)
  • Intel Array Building Blocks
  • Intel Parallel Studio
  • Managed Extensions for C++
  • R++
  • Sieve C++ Parallel Programming System
  • Threading Building Blocks
  • ΜC++

Rujuakan

suntiang
  1. Hanif al fatta (2006). Dasar Pemrograman C++ disertai dengan Pengenalan Pemrograman Berorientasi Objek. ISBN 979-763-582-1. 
  2. Bruce Eckel (2000). Thinking in C++. Jilid 1 dari Thinking in C++ Introduction to Standard C+, Bruce Eckel. ISBN 0139798099, 9780139798092. 
  3. Bjarne Stroustrup (2000). The C++ programming language, Prentice Hall, 2000. ISBN 0201889544, 9780201889543. 
  4. "ISO/IEC 14882:2011". 
  5. "ISO/IEC TR 19768:2007". 
  6. "ISO/IEC 14882:2003". 
  7. "ISO/IEC 14882:1998". 
  8. a b c d Nicolai M. Josuttis (1991). C++ primer Jilid 54848 dari Programming languages, penerbit Addison-Wesley, 1991. ISBN 0201548488, 9780201548488. 
  9. a b Nicolai M. Josuttis (2002). Object-oriented programming in C++, Penerbit J. Wiley, 2002, Tebal 610 halaman. ISBN 0470843993, 9780470843994. 
  10. a b c Gregory Satir, Doug Brown (2002). C++: the core language, Penerbit, O'Reilly Media, Inc., 1995, Tebal 207 halaman.. ISBN 156592116X, 9781565921160.