Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 // Contoh program c++ dengan fungsi template #include template void Swap (T &x, T &y) { T temp = x; x = y; y = temp; } void main() { double x = 4.50,

Presentasi serupa


Presentasi berjudul: "1 // Contoh program c++ dengan fungsi template #include template void Swap (T &x, T &y) { T temp = x; x = y; y = temp; } void main() { double x = 4.50,"— Transcript presentasi:

1 1 // Contoh program c++ dengan fungsi template #include template void Swap (T &x, T &y) { T temp = x; x = y; y = temp; } void main() { double x = 4.50, y = 7.54; cout << "X = " << x << " Y = " << y << endl; Swap( x, y); cout << "X = " << x << " Y = " << y << endl; int p = 25, q = 10; cout << "P = " << p << " Q = " << q << endl; Swap( p, q); cout << "P = " << p << " Q = " << q << endl; }

2 Template fungsi dengan argument lebih dari satu Template argumen bisa lebih dari satu jika menggunakan tipe data lebih dari satu Template yang menggunakan lebih dari satu tipe data dapat didefinisikan dengan menuliskannya pada tanda. Misalkan: template 2

3 3 // Contoh fungsi GTSum int GTSum(int *Data, long x, int size) { long sum = 0; for (int i=0; i < size; i++) sum += Data[i]; return ((sum > x) ? 1 : 0); } int GTSum(float *Data, double x, int size) { double sum = 0; for (int i=0; i < size; i++) sum += Data[i]; return ((sum > x) ? 1 : 0); }

4 4 // Dapat ditulis dengan template: template int GTSum(A *Data, B x, int size) { B sum = 0; for (int i=0; i < size; i++) sum += Data[i]; return ((sum > x) ? 1 : 0); }

5 5 // contoh program dengan template lebih dari satu tipe #include template int GTSum(A *Data, B x, int size) { B sum = 0; for (int i=0; i < size; i++) sum += Data[i]; return ((sum > x) ? 1 : 0); } void main() { int Data1[5] = {2, 3, 4, 5, 6}; float Data2[4] = {1.5, 2.6, 3.2, 5.1}; if ( GTSum(Data1, 20, 5) ) cout << “Total nilai Data1 lebih dari 20” << endl; else cout << “Total nilai Data1 tidak lebih dari 20 \n”; if ( GTSum(Data2, 10.5, 4) ) cout << “Total nilai Data2 lebih dari 10.5 \n”; else cout << “Total nilai Data2 tidak lebih dari 10.5”; }

6 Template Class Template juga dapat diterapkan pada class dengan format: template class nama_class { // deklarasi class }; 6

7 7 // program template pada class stack #include // template definition template class Stack { private: T *Data; int Size; int CountData; public: Stack(int Size = 25); ~Stack(); void Push (T nilai); T Pop(); int stackEmpty(); int stackFull(); };

8 8 template Stack :: Stack( int Size ) { //constructor Stack::Size = Size; CountData = 0; Data = new T [Size]; } template Stack :: ~Stack() { // destructor delete [ ] Data; } template int Stack :: stackEmpty() { return ( (CountData == 0)? 1: 0 ); } template int Stack :: stackFull () { return ( (CountData == Size)? 1: 0 ); }

9 9 template void Stack :: Push (T nilai) { if ( !stackFull() ) Data[CountData++] = nilai; else cerr << “Stack penuh” << endl; } template T Stack :: Pop() { if ( stackEmpty() ) { cerr << “Stack kosong” << endl; exit(1); } return ( Data[--CountData] ); }

10 10 void main() { clrscr(); Stack s1; s1.Push(10.85); s1.Push(25.2); cout << "Isi stack bilangan real: "<< endl; cout 1 = " << s1.Pop() << endl; cout 2 = " << s1.Pop() << endl; Stack s2; s2.Push(100); s2.Push(10); s2.Push(5); cout << "Isi stack bilangan bulat: "<< endl; cout 1 = " << s2.Pop() << endl; cout 2 = " << s2.Pop() << endl; cout 3 = " << s2.Pop() << endl; }

11 Penutup Untuk dapat merancang sebuah program dengan menggunakan template, mahasiswa membahas tugas pertemuan ini no 1, 2, dan 3. (diskusikan dalam kelompok) 11


Download ppt "1 // Contoh program c++ dengan fungsi template #include template void Swap (T &x, T &y) { T temp = x; x = y; y = temp; } void main() { double x = 4.50,"

Presentasi serupa


Iklan oleh Google