c++中枚舉常量與宏常量的一點區(qū)別

字號:


    #include<iostream>
    using namespace std;
    class A
    {
    enum { APPLE = 111 };
    #define PEAR 333
    public:
    A()
    {
    cout << "APPLE: " << APPLE << endl; // 私有枚舉常量,只有在類內(nèi)部可以訪問。
    }
    };
    int main()
    {
    A a;
    //cout << "APPLE: " << APPLE << endl; // 編譯出錯,超出了訪問范圍
    cout << "PEAR: " << PEAR << endl; // 正常執(zhí)行,宏替換,沒有范圍限制。
    return 0;
    }