Pointer untuk menguraikan String

320 Direktorat Pembinaan SMK| 2008 menghitung jumlah karakter khusus muncul didalam string. Program 8.16 includeconio.h include iostream using namespace std; Fungsi prototipe int countCharschar , char; int main { const int PANJANG_S = 51 ; char userString[PANJANG_S], letter; cout Masukan String lebih dari PANJANG_S‐ 1 karakter: ; cin.getlineuserString, PANJANG_S; cout Masukan karakter dan saya akan menghitung berapa\n ; cout kali yang muncul dalam string yang telah anda tulis: ; cin letter; cout letter Muncul: ; cout countCharsuserString, letter kali.\n ; getch ; return ; } Definisi countChars. int countCharschar strPtr, char ch { int times = ; while strPtr = \0 { if strPtr == ch times++; strPtr++; } return times; } Keluaran program diatas adalah sebagai berikut: 2008 | Direktorat Pembinaan SMK 321 Masukan String lebih dari 50 karakter: saya akan pergi berangkat ke kantor Masukan karakter dan saya akan menghitung berapa kali yang muncul dalam string yang telah anda tulis: a a Muncul: 7 kali. Di dalam fungsi countChars, strPtr poin pada string tersebut akan dicari dan ch berisi karakter untuk mencari. Pengulangan while akan di ulangi ketika panjang karakter strPtr poin pada akhir bukan terminator null: while strPtr = \0 Dalam pengulangan, statemen if yang mengikutinya membandingkan karakter strPtr poin dengan karakter didalam ch: if strPtr == ch Jika keduanya sama, variabel times akan diincrement. Statemen yang terakhir dalam pengulangan tersebut adalah: strPtr++; statemen increment menaikan alamat dalam strPtr. Ini menyebabkan strPtr akan menunjuk karakter berikutnya didalam sebuah string. Kemudian pengulangan memulai kembali. Ketika strPtr akhirnya menjangkau terminator null, pengulangan mengakhiri dan fungsi mengembalikan nilai dalam fungsi time. 8.13. Class String pada C++ Dari satu segi pandangan metode pemrograman yang mudah, library standar class string menawarkan beberapa keuntungan pada string. Ketika anda sudah mengetahui dalam bab ini, class string mempunyai beberapa anggota fungsi dan operator yang mempunyai muatan lebih. Hal ini jelas menyederhanakan tugas, seperti penempatan sebuah karakter atau string di dalam suatu string, yang jika dilakukan tanpa fungsi akan mengalami kesulitan dan membosankan untuk melakukan operasi string. Setiap program class string harus menggunakan include sebagai file header string. Object string dapat diciptakan dengan beberapa construktor. Program dibawah menunjukkan dua construktor class string: sebagai default construktor dan konversi konstruktor string ke menjdai obyek string. Program 8.17 includeconio.h include iostream include string using namespace std; 322 Direktorat Pembinaan SMK| 2008 int main { string ucapan; string nama suprapto ; ucapan = Halo ; cout ucapan nama endl; getch; return ; } Keluaran program diatas adalah sebagai berikut: Halo suprapto Supaya dapat membuah program selain contoh program diatas, perhatikan tabel pemakaian konsruktor string yang diberikan dalam tabel dibawah ini: Tabel 8.5. Pemakaian Konsruktor String DEFINITION DESCRIPTION string alamat; Definisi objek string yang langsung disebutkan string namasuprapto; Mendefinisikan string benda bernama nama, diinisialisasi dengan suprapto string person1person2; Mendefinisikan string benda bernama person1, yang merupakan salinan dari person2. person2 mungkin salah satu objek atau string karakter array. string set1set2, 5; Mendefinisikan string bernama set1 objek yang diinisialisasi untuk pertama lima karakter dalam karakter array set2. string lineFullz, 10; Mendefinisikan string benda bernama lineFull diinisialisasi dengan 10 z karakter. string firstNamefullName, 0, 7; Mendefinisikan string benda bernama firstname, diinisialisasi dengan substring dari string fullName. Substring adalah tujuh karakter, mulai pada posisi 0. Hal yang perlu diketahi pada program dibawah, menggunakan operator = untuk memberi nilai obyek string. class string memberi muatan lebih pada beberapa operator, yang digambarkan pada Tabel dibawah.