C++17 using用法总结

 

C++ using用法总结
using除了对命名空间、函数等引入外,还可以用于定义模板别名(具体的类型别名也可以)

1)命名空间权限管理
using namespace std;              //释放整个命名空间到当前作用域
using std::cout;                        //释放某个变量到当前作用域
 
2)设置别名
typedef std::string _String;   
using _String = std::string;      //等同typedef
typedef void (pFunc*)(void);
using pFunc = void(*)(void);     //更直观

3)继承:使用基类私有成员,私有方法,同名方法
//默认子类和基类中有同名方法时不继承基类方法;
class Base{
private:
    int x;
public:
    void func1(){cout<<"func1"<<endl;}
    void func2(){ cout<<"func2"<<endl;}
    int add(int x,int y){return x+y;}
    float add(float x,float y){return x+y;}
};

class BB:private Base{
public:               
    using Base::x;                    //1.子类中用using声明引入基类成员名称
    using Base::func1;              //2.子类中用using声明引入基类私有函数名称 
    using Base::add;                //3.引入同名的基类中方法
   double add(double x,double y){return x+y;}
    void func(){this->func2();}
};

int main(int argc, char *argv[]){
    BB b;
    b.func1();
    b.func();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值