类同名的构造函数继承
Constructor inheritance with classes of the same name
我想继承基础class的构造函数,但是不编译。
如何在不更改 class 名称的情况下解决此问题?
class MyClass
{
public:
class A
{
};
};
class MyClass2 : MyClass
{
public:
class A : MyClass::A
{
//error: expected nested-name-specifier before ‘namespace’
using (MyClass::A)::(MyClass::A);
};
};
using MyClass::A::A;
构造函数由一个限定名称引用到应该从中导入它的基础 class,即 MyClass::A
,然后再次使用 class 名称引用构造函数,但只有 class 名称,而不是限定名称,即 A
.
使用 MyClass::A::A;
是否符合您的要求?
如果要从classMyClass::A
使用method()
,则必须写using MyClass::A::method;
。在您的例子中,method()
是构造函数,名为 A()
.
我想继承基础class的构造函数,但是不编译。 如何在不更改 class 名称的情况下解决此问题?
class MyClass
{
public:
class A
{
};
};
class MyClass2 : MyClass
{
public:
class A : MyClass::A
{
//error: expected nested-name-specifier before ‘namespace’
using (MyClass::A)::(MyClass::A);
};
};
using MyClass::A::A;
构造函数由一个限定名称引用到应该从中导入它的基础 class,即 MyClass::A
,然后再次使用 class 名称引用构造函数,但只有 class 名称,而不是限定名称,即 A
.
使用 MyClass::A::A;
是否符合您的要求?
如果要从classMyClass::A
使用method()
,则必须写using MyClass::A::method;
。在您的例子中,method()
是构造函数,名为 A()
.