Senin, 26 Oktober 2009
Contructor... next
Constructor (untuk membangun objek) pun juga dapat overloading.
class Mobil{
private :
char merk[20];
int kec;
public :
// overloading constructor
Mobil(){
setKec(0);
setMerk("");
}
//constructor awal
Mobil(int a, char *b){
setKec(a);
setMerk(b);
}
};
Meskipun memiliki nama yang sama, namun saat pemanggilan dapat diatur sesuai yang diinginkan.
Dan ada pula, copy constructor yang menggunakan alamat dari variabel.
// copy constructor
Mobil(Mobil &obj){
kec = obj.getKec(); // kec = obj.kec;
strcpy(merk,obj.merk);
}
Maka dari itu constructor pun memiliki banyak kegunaan. Dan dibutuhkan pemahaman untuk mengerti seluk beluknya.
Rabu, 21 Oktober 2009
Nested Struct
#include
struct course
{
int couno;
int coufees;
};
struct student
{
int studno;
course sc;
course sc1;
};
void main( )
{
student s1;
s1.studno=100;
s1.sc.couno=123;
s1.sc.coufees=5000;
s1.sc1.couno=200;
s1.sc1.coufees=5000;
int x = s1.sc.coufees + s1.sc1.coufees;
cout<< “\n Student Number: ”< cout<<”\n Total Fees: Rs.”<< x;
}
Output :
Student Number: 100
Total Fees: Rs.10000
s1 adalah nama struct variable. sc adalah nama struct student luar. couno adalah anggota struct course. Seperti ituah anggota nested struct diakses.
Minggu, 11 Oktober 2009
Pointer Operator
Kalau dilihat dari banyaknya variabel yang terlihat di memori , pasti tidak pernah terpikirkan mengenai lokasi-lokasi data yang digunakan pula. Karena itu digunakan identifier yang dapat digunakan kapanpun tanpa harus memikirkan berapa banyak memori yang harus terpakai.
Ada beberapa macam, yaitu :
Reference operator (&)Contoh : ted = &andy;Dereference operator (*)
Tulisan di atas akan menandakan ted alamat dari variabel andy. Yang dimaksud disini bukan isi dari variabelnya tapi alamatnya di memori.
Contoh :
beth = *ted;Tulisan di atas menandakan bahwa nilai beth dan ted adalah sama.
Sabtu, 10 Oktober 2009
Stream Manipulasi
- boolalpha - Nilai alphanumerik (manipulator function)
- internal – memasukkan karakter pada posisi internal
- left – membuat output menjadi rata kiri
- right - membuat output menjadi rata kanan
- noshowpoint – tidak memunculkan poin desimal
- noshowpos – tidak memunculkan tanda positif
- noskipws – tidak melewatkan whitespace (enter,spasi,tab)
- nounitbuf - tidak memaksa melakukan flush setelah insersi
- nouppercase - tidak membuat huruf besar
- resetiosflags - mereset format flags
- setioflags - format flags
- showpoint - memunculkan poin desimal
- showpos - memunculkan tanda positif
- skipws - melewakan whitespace (enter,spasi,tab)
- unitbuf - melakukan flush setelah insersi
- uppercase - membuat huruf besar
- ws - mengekstrak whitespace (enter,spasi,tab)
Elemen iostream di C++
Elemen yang dimiliki iostream sebagai standard library untuk menjalankan input output dengan streams, yaitu :
- Basic class template – dasarnya pasti ada hierarki dari template class. Dan masing-masing kelas pada templatenya memiliki parameter yang dapat dimanipulasi , dapat menunjukkan karakter spesifik tiap elemen. Biasanya, pemberian nama sesuai dengan tipenya.
Contoh : class temlate istream – basic_istream
class template fstream – basic_fstream
- Class template instantiation
- narrow-oriented (char type) – manipulasi elemen dari tipe satu dengan yang lainnya
(paling sering digunakan)
contoh : class ios, istream, ofstream
- wide-oriented (wchar_t) – sama seperti narrow-oriented tapi nama masig-masing
kelasnya dan objek didahului karakter ‘w’.
contoh : wios, wistream
- Standard object – mendeklarasikan objek yang digunakan untuk proses input output sebagai standardnya.
Ada 2 macam :
* narrow-oriented objects – cin, cout, cerr, clog
* wide-oriented counterparts – wcin, wcout, wcerr, wclog
- Type – untuk menjelaskan tipe-tipe data yang bergantung pada sifat sesuai instansiasinya.
Contoh : char dan wchar_t – streampos, streamoff dan streamsize digunakan untuk
menunjukkan posisi, offset dan ukuran.
- Manipulator – fungsi global untuk digunakan bersama operator insertion (<<) dan extraction (>>) di objek-objeknya. Biasanya memodifikasi properti dan pengaturan streams.
Contoh : endl, hex, oct , scientific
.jpg)