2013年10月18日 星期五

[C/C++基礎]-C++ namespace基本應用範例

[C/C++基礎]-C++ namespace基本應用範例



由於今天在和一位朋友討論C++ namespace應用,所以撰寫了此一範例,有興趣的(C/P)同好,歡迎來(C/P)一下哈哈 ^ ^。


cppnamespace.h









#ifndef CPPNAMESPACE_H_INCLUDED

#define CPPNAMESPACE_H_INCLUDED

namespace N_A

{

    class A

    {

      public:

            A();

            int a;

    };

    namespace N_B

    {

        class B

        {

          public:

                B();

                int b;

        };

        namespace N_C

        {

            class C

            {

              public:

                    C();

                    int c;

            };

        }

    }

}

 

 

#endif // CPPNAMESPACE_H_INCLUDED

 



cppnamespace.cpp









#include "cppnamespace.h"

//using namespace N_A;

//using namespace N_A::N_B;

//using namespace N_A::N_B::N_C;

N_A::A::A()//A::A()

{

    a=0;

}

N_A::N_B::B::B()//B::B()

{

    b=0;

}

N_A::N_B::N_C::C::C()//C::C()

{

    c=0;

}

 



main.cpp









#include <iostream>

#include "cppnamespace.h"

//using namespace N_A;

//using namespace N_A::N_B;

//using namespace N_A::N_B::N_C;

 

using namespace std;

 

int main()

{

    N_A::A objA;//A objA;

    N_A::N_B::B objB;//B objB;

    N_A::N_B::N_C::C objC;//C objC;

    cout<<"objA.a="<<objA.a<< endl;

    cout<<"objB.b="<<objB.b<< endl;

    cout<<"objC.c="<<objC.c<< endl;

    objA.a=10;

    objB.b=20;

    objC.c=30;

    cout<<"objA.a="<<objA.a<< endl;

    cout<<"objB.b="<<objB.b<< endl;

    cout<<"objC.c="<<objC.c<< endl;

    cout << "Hello world!" << endl;

    return 0;

}

 



 


沒有留言:

張貼留言