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

[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;
}

 

 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *