Hello Kitty Touching Lip

Monday, 27 January 2014

alpro


Namespace
Þ     Konsep namespaces dibuat untuk menghindari timbulnya konflik penamaan variabel, konstanta, nama fungsi dan nama kelas.
Þ     Namespaces sangat berguna saat menyelesaikan program-program besar yang memiliki kompleksitas yang tinggi. Artinya, program akan dipecah atau dikelompokkan berdasarkan namespace-namespace yang berlainan.
Mendefinisikan Namespaces
       namespace nama_namespaces {
       Deklarasi yang akan dilakukan
       }
Contoh :
namespace a {
int x;
void cetakx();
{
cout <<"Nilai x didalam namespace A : "<<x<<endl;
}
}
Operator Scope Resolution
¨       Operator Scope Resolution digunakan untuk memanggil variabel, konstanta, fungsi maupun kelas yang terdapat di dalam suatu namespace
¨       Menggunakan operator : :

Contoh Program:
#include <iostream.h>
using namespace std;

namespace A {
                int x;
                void setX(int nilai)
                {
                                x=nilai;
                }
                int getX()
                {
                                return x;
                }
}
int main()
{
                A::x=100;
                cout<<"Nilai x didalam namespaces A : "<<A::x<<endl;
                A::setX(200);
                cout <<"Nilai X didalam namespaces A : "<<A::getX()<<endl;
                return 0;
                }
Output :
 
 
Keyword Using
¨       Digunakan untuk memanggil sebuah namespace
¨       Contoh
¨       using nama_namespace::member;
¨       using namespace nama_namespaces;

Anonymous namespace
¨       Namespaces khusus yang hanya dapat digunakan di dalam satu buah file saja.
¨       Juga disebut unnamed namespace

Contoh :
ð  namespaces {
ð  //deklarasi yang akan dilakukan
ð  }
Alias namespace
¨       Apabila sebuah namespace terlalu panjang, maka kita dapat mebuat alias untuk namespace tersebut dengan nama yang pendek sehingga akan mudah dalam penggunaannya.
¨       Alias namespace bukan berarti membuat namespace baru, melainkan membuat nama baru untuk sebuah namespace
Contoh :
ð  namespace nama_alias = nama_namespace;
Contoh Program :
#include <iostream.h>
namespace ContohSebuahNamespaceYangPanjang
{
                int alas=0;
                int tinggi=0;
                double luas;
                void setAlas(int nilai)
                {
                                alas=nilai;
                }
                void setTinggi(int nilai)
                {
                                tinggi=nilai;
                }
                double HitungLuas()
                {
                                luas=(alas*tinggi)/2;
                                return luas;
                }
}
int main()
{
                namespace hitungLuas=ContohSebuahNamespaceYangPanjang;
                hitungLuas::setAlas(10);
                hitungLuas::setTinggi(3);
                cout<<"Luas adalah "<<hitungLuas::HitungLuas()<<endl;
                return 0;
                }
Output : 
 
 
Namespace Bersarang
¨       Sebuah namespace tidak dapat didefinisikan di dalam lingkup (Scope) program lainnya. Sebagai contoh kita tidak dapat mendefinisikan namespace baru didalam sebuah fungsi, blok perulangan maupun lingkup program lainnya.
¨       Namun sebuah namespace dapat didefinisikan didalam sebuah namespace lainnya
¨       Hal ini disebut nested namespace atau namespace bersarang.


Contoh Program :
#include <iostream.h>
namespace A
{
                int a;
}
int main()
{
                int i;
                for(i=0;i<=10;i++)
                {
                                namespace B;
                }
                return 0;
}
Error :
 
Contoh program :
#include <iostream.h>
namespace Induk {
  int i;
  namespace Anak {
    int j;
  }
}

int main() {
                Induk::i = 10;        
    Induk::Anak::j = 20; 
  cout<<"Nilai i : "<<Induk::i<<endl;
  cout<<"Nilai j : "<<Induk::Anak::j<<endl<<endl;
               
 
  using namespace Induk;
  i = 30;              
  Anak::j = 40;       
  cout<<"Nilai i : "<<i<<endl;
  cout<<"Nilai j : "<<Anak::j<<endl<<endl;           
               

  using namespace Anak;
  i = 50;              
  j = 60;              
  cout<<"Nilai i : "<<i<<endl;
  cout<<"Nilai j : "<<j<<endl<<endl;                        
 
  return 0;
                }
Output :
 
Namespace Std
ð  Dalam c++ standar, semua library yang digunakan berada di dalam sebuah namespace yang dinamakan dengan namespace std
Summary
       Namespace
       Cara mendefinisikan namespace
       Anonymous namespace
       Alias namespace
       Nested namespace


No comments:

Post a Comment