C++中的using三个作用
作者:互联网
1.using 命名空间
C++为了减少全局类和变量之间的冲突,引入命名空间的概念,类和变量可以属于某个命名空间。
namespace tesseract { class className { }; } 在某个文件中使用该命名空间中的类有两种方式: 方式一:tesseract::className classInstance; 方式二:using namespace tesseract; using tesseract::className;2. using 定义新类型
using Ustring = std::string; //!使用 using typeName_self = stdtypename;
//更直观
typedef void (tFunc*)(void);
using uFunc = void(*)(void);
3. 改变接口继承权限
继承体系中,改变部分接口的继承权限。
有这样一种应用场景,比如我们需要私有继承一个基类,然后又想将基类中的某些public接口在子类对象实例化后对外开放直接使用。如下即可
#include <iostream> #include <typeinfo> using namespace std; class ClassA { public: ClassA() {} ~ClassA(){} void func1() { cout<<"func1"<<endl; } void func2() { cout<<"func2"<<endl; } }; class ClassB:private ClassA { public: using ClassA::func1;//需要在ClassB的public下释放才能对外使用, void dis2show() { this->func1(); } }; int main(int argc, char *argv[]) { ClassB clB; clB.func1(); clB.dis2show(); return 0; }
标签:void,namespace,clB,ClassA,三个,C++,using,tesseract 来源: https://www.cnblogs.com/songhaibin/p/13502736.html