using 继承构造函数+类型别名与别名模板声明

本文介绍了C++11中的`using`关键字在继承构造函数、类型别名以及别名模板声明方面的应用。通过`using`,可以简化子类对基类构造函数的调用,以及为类型创建易读的别名。同时,文章还探讨了别名模板声明的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.using的基本用法

  • 命名空间声明,或将命名空间名字导入到当前命名空间或作用域。
void fun(){
   
   
    using std::string;//导入名字到函数作用域
    string s("sss");
}
#include <iostream>
using std::string;//导入名字到文件作用域
#include <iostream>
using namespace std;//导入命名空间到文件作用域
  • 将基类成员引入到子类,这部分我也没这么用过,直接上官网说明吧。

using 声明将基类成员引入到派生类的定义中,例如将基类的受保护成员暴露为派生类的公开成员。此情况下 嵌套名说明符 必须指名所定义的类的某个基类。若其名字是该基类的某个重载的成员函数的名字,则具有该名字的所有基类成员函数均被引入。若派生类已有具有相同名字、形参列表和限定的成员,则派生类成员隐藏或覆盖从基类引入的成员(不与之冲突)。

#include <iostream>
struct B {
   
   
    virtual void f(int) {
   
    std::cout << "B::f\n"; }
    void g(char)        {
   
    std::cout << "B::g\n"; }
    void h(int)         {
   
    std::cout << "B::h\n"; }
 protected:
    int m; // B::m 为受保护
    typedef int value_type;
};
 
struct D :</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值