命名空間namespace

關鍵字:namespace
就是劃片取名字的意思;爲了區分不同程序庫裏面的變量。
編程實現命名空間的使用:


#include<stdlib.h>
#include<iostream>
using namespace std;
namespace A//定義命名空間A
{
    int x=1;

    void fun()
    {
        cout << "A" << endl;    
    }

}
namespace B//定義命名空間B
{
    int x=2;
    void fun()
    {
        cout << "B" << endl;
    }
    void fun2()
    {
        cout << "C" << endl;
    }
}
using namespace B;//使用B的命名空間
int main()
{

    cout << A::x << endl;
    B::fun();//因爲A中也有函數fun,所以也要寫明B::fun();才能說明是調用B的函數;
    fun2();  //只有B有函數fun2(),又因爲前面有使用B的命名空間,所以直接用;
    system("pause");
    return 0;
}

當然上述程序中若刪除using namespace std;那麼可在每個cin和cout前面加上std::即可。
再來一個例子:實現尋找數組裏面的最大值或者最小值

#include<stdlib.h>
#include<iostream>
using namespace std;
namespace CampA
{
    int getMaxOrMin(int *arr, int count, bool isMax)
    {
        int temp = arr[0];
        for (int i = 1; i < count; i++)
        {
            if (isMax)
            {
                if (temp < arr[i])
                { 
                    temp = arr[i];
                }
            }
            else
            {   
                if (temp > arr[i])
                {
                    temp = arr[i];
                }
            }
        }
        return temp;
    }
}


int main()
{
    int arrl[] = {4,5,8,3,6,9,7,12,89};
    int len = sizeof(arrl)/sizeof(char *);//獲得數組的長度
    cout << "請輸入要計算最大值還是最小值,1-最大,0-最小:" << endl;
    bool isMax;
    cin >> isMax;
    cout << CampA::getMaxOrMin(arrl, len, isMax) << endl;
    system("pause");
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章