具有相同名称的类的构造函数继承
Posted
技术标签:
【中文标题】具有相同名称的类的构造函数继承【英文标题】:Constructor inheritance with classes of the same name 【发布时间】:2019-11-08 14:55:22 【问题描述】:我想继承基类的构造函数,但是不编译。 如何在不更改类名的情况下解决此问题?
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);
;
;
【问题讨论】:
@uneven_mark 感谢问题已解决=) 【参考方案1】:using MyClass::A::A;
构造函数由一个限定名引用到应该从中导入它的基类,即MyClass::A
,然后又是类名来引用构造函数,但只有类名,而不是限定名,即A
。
【讨论】:
【参考方案2】:使用MyClass::A::A;
能达到你想要的效果吗?
如果你想使用MyClass::A
类中的method()
,你必须写using MyClass::A::method;
。在您的情况下,method()
是构造函数,名为 A()
。
【讨论】:
以上是关于具有相同名称的类的构造函数继承的主要内容,如果未能解决你的问题,请参考以下文章