using四大用法
阿新 • • 發佈:2018-11-08
1.名稱空間
using namespace 名稱空間;//這樣每次使用名稱空間中的變數時就不用指定名稱空間了
注意:標頭檔案中不應有using名稱空間的宣告
2.類型別名宣告(C++11)
using ll = long long;//等價於typedef long long ll typedef double db, *p;//db是double的同義詞,p是double*的同義詞(注意)
3.改變從基類繼承來的成員函式的訪問性
class base { public: int fun(int x); int b; }; class son : privatebase { public: using base::fun; //fun(int x)由private變成public(注意:using不指定引數列表) protected: using base::b; //b由public變成protected };
4.讓派生類對基類中所有的過載函式都可見,而不是隱藏
class base { public: void func() { cout << "func()1" << endl; } void func(int x) { cout<< "func()2" << endl; } }; class son : public base { public: using base::func; //若沒有此句,func()和func(int x)將會被隱藏 void func(int x, int y) { cout << "func()3" << endl; } };