【发布时间】:2019-11-28 00:45:48
【问题描述】:
乍一看,using 是用来导入特定函数的(比如using std::cout 到作用域)。但是这个using实际上将基类的所有构造函数都导入了派生类。 using 声明的背后究竟是什么?
template< typename T >
class Vec : public std::vector< T >
{
public:
using std::vector<T>::vector; // ?
//...
};
【问题讨论】:
-
“背后”没有任何东西。这就是它的作用。
-
当您问幕后的实际情况时,您是想找出标准为何如此定义它,还是想找出它的用处?
-
也许它看起来与我使用和理解的有点不同。它导入所有构造函数(而不是特定函数)。此外,由于它是公共继承的,因此应该已经可以使用所有基类构造函数(即为什么需要
using)。谢谢
标签: c++ class oop c++11 inheritance