C++ using的使用方法

作者: shad0w_walker(admin) 分类: 基础知识 发布时间: 2017-07-23 16:33 ė 6 没有评论

1、引入名空间

例:using namespace std;

 

2、改变个别成员的可访问性

《C++ Primer》中有个例子是这样的:

类Derived私有继承了Base,对于它来说成员变量n和成员函数size都是私有的,如果使用了using语句,可以改变他们的可访问性,如上述例子中,size可以按public的权限访问,n可以按protected的权限访问。

 

3、函数重载

这一点在一定意义上和上面一点类似。

在继承过程中,派生类可以覆盖重载函数的0个或多个实例,一旦定义了一个重载版本,那么其他的重载版本都会变为不可见。

如果对于基类的重载函数,我们需要在派生类中修改一个,又要让其他的保持可见,必须要重载所有版本,这样十分的繁琐。

我们可以用using来解决这个问题。

输出:
f()
Derived::f(int)

如上代码中,在派生类中使用using声明语句指定一个名字而不指定形参列表,所以一条基类成员函数的using声明语句就可以把该函数的所有重载实例添加到派生类的作用域中。此时,派生类只需要定义其特有的函数就行了,而无需为继承而来的其他函数重新定义。

 

4、取代typedef

C中常用typedef A B这样的语法,将B定义为A类型,也就是给A类型一个别名B

对应typedef A B,使用using B=A可以进行同样的操作,例如:

但是using的功能比typedef更强大,可以定义模板别名,例如:

 

本文出自shad0w_walker,转载时请注明出处及相应链接。

本文永久链接: https://www.sdwalker.com/archives/771.html

0

发表评论

电子邮件地址不会被公开。 必填项已用*标注

返回顶部