Kalkulator dengan iostream? Semua objek istream punya
metode get() yang mengembalikan integer berisi
karakter atau EOF (FFh). Membuat kalkulator bisa hanya
memanfaatkan metode itu, switch lexer besar dan parser
recursive-descent.
Oleh kompiler, fungsi C
int triple(const int n) {
return n * 3;
}
akan diterjemahkan menjadi (sangat^10 disederhanakan):
triple:
mov eax, [esp + 8] ; EAX = n
mov ecx, 3
mul ecx ; EAX * ECX = EDX:EAX
ret
sehingga nilai ekspresi "triple(x)" adalah apa yang
tertinggal di edx:eax, yang akan "diambil" dalam
pernyataan pemanggil. (drpd penjelasan panjang lebar
dan abstrak, yang paling mutlak ya assembly). Untuk
contoh C++ Anda, variasinya hanya name-mangling dan
passing-by-reference.
Ekspresi
std::cout << ANU
itu cuma pemanis sintaksis. Operator << untuk tipe
data primitif bisa didefinisikan kompiler, tapi untuk
tipe data pengguna adalah fungsi yang dengan
transformasi internal kompiler jadi sintaks C++ valid
(identitas fungsi bisa dicari sendiri).
Untuk pertanyaan sisa: sudah ada kode, kenapa nggak
dicoba saja? Kalau nggak beres, pakai cin.getline()
> getline (cin, anda.nama);
Dengan harapan baru saja memberi "kail", bukan "ikan".
____________________________________________________________________________________
Take the Internet to Go: Yahoo!Go puts the Internet in your pocket: mail, news,
photos & more.
http://mobile.yahoo.com/go?refer=1GNXIC
--
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis