【发布时间】:2021-07-13 19:35:11
【问题描述】:
我知道您可以在派生类中使用来自基类的构造函数,例如
class A {
public:
A() {};
}
class B : public A {
public:
using A::A;
}
此外,您可以使用模板基类中的构造函数,例如
template<typename T>
class A {
public:
A() {};
}
template<typename T>
class B : public A<T> {
public:
using A<T>::A;
}
假设类 A 现在有一个模板函数作为构造函数:
template<typename T1>
class A {
public:
template<typename T2>
A() {};
}
template<typename T1>
class B : public A<T1> {
public:
using A<T1>::A; // nope
using A<T1>::A<>; // neither
template<typename T2> using A<T1>::A<T2>; // sounds good, doesn't work
}
如何在派生类中使用基类构造函数?
【问题讨论】:
-
你会怎么称呼那个构造函数?
标签: c++ inheritance