问题标签 [inherited-constructors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3058 浏览

c++ - c++0x模板中的继承构造函数

这是 foo 类:

这里是类栏:

继承构造函数的语法是否正确?如果我使用“使用 foo::foo;” 然后 Visual C++ 2010 的编译器死掉了。那么基本上如何从 VC++ 2010 中的模板类继承构造函数?

0 投票
4 回答
5842 浏览

c# - 如何在基类中声明构造函数,以便子类可以在不声明的情况下使用它们?

我希望一个子类使用其父类的构造函数。但似乎我总是需要在子类中再次定义它们才能使其正常工作,如下所示:

所以我想知道我是否没有在父类中正确声明构造函数,还是根本没有直接的构造函数继承?

0 投票
2 回答
231 浏览

java - 数组,不适用于参数

我想在客人数组中添加一个客人,你们能看到做错了什么,或者我不能调用一个字符串、构造函数、构造函数吗?

错误说:the method addGuest(Guest) in the type table is not applicable for the argument ( String, Tea,Cake)。我正在尝试将客人放入阵列

这是我的代码。

Guest 类的构造函数是这样的:

Tea 类的构造函数是:

类蛋糕:

addGuest 方法:

我想做的是:

0 投票
1 回答
587 浏览

c++ - C++ 继承顺序以何种方式影响构造函数?

如果我定义一个从多个其他结构继承的结构,我列出它们的顺序如何影响这样的事情:

简单的问题,但提前谢谢!

0 投票
3 回答
504 浏览

c++ - 需要一个示例显示默认构造函数没有被继承

我知道默认构造函数不是继承的,如n3337中所述。

那里有一个例子:

有很好的解释:

D2for中的候选继承构造函数集B2

最重要的是:

中存在的构造函数集D2
—D2(),隐式声明的默认构造函数,不是继承的

对我来说,这个例子并没有显示出差异,从某种意义上说,即使这个构造函数是被继承的——它的行为与隐式声明的默认构造函数并没有什么不同。

我需要一个示例,以让熟悉 C++03 但想学习 C++11 的观众易于理解。


[更新]
所有答案(包括我自己的)都是“如果默认 c-tor 被继承,那么示例将编译/不编译”。

我更喜欢结果(可观察到的行为)与其他情况不同的答案。

0 投票
1 回答
131 浏览

c++ - 继承的构造函数和 stl 容器错误

我正在玩继承的构造函数,但是当我尝试从 std::string 继承时,我很难理解为什么 gcc 会抱怨。

我知道这不是最佳实践,应该不惜一切代价避免它,所以在为此大喊大叫之前,我没有在任何地方实施它:-) 这只是出于好奇。

我还用一个简单的已定义类尝试了相同的场景,但我没有同样的问题。

实际错误的摘录:

main.cpp:25:24:错误:没有匹配的调用函数'Wrapper<std::basic_string<char> >::Wrapper(std::string&)'

0 投票
1 回答
328 浏览

c++ - 继承构造函数和大括号或等号初始化器

我不明白为什么你不能编译一个类,它既有一个成员(不是默认可构造的),又有一个大括号或相等的初始化器和一个继承的构造器。g++ 说:

test.cpp:22:15: 错误:使用已删除函数 'Derived::Derived(float)'<br> Derived d(1.2f);

test.cpp:16:13:注意:'Derived::Derived(float)' 被隐式删除
,因为默认定义格式错误:
使用 Base::Base;

test.cpp:16:13: 错误: 没有匹配函数调用'NoDefCTor::NoDefCTor()'<br> test.cpp:5:1: 注意: 候选:
NoDefCTor::NoDefCTor(int) NoDefCTor(int) {}

无法编译的代码(在 g++ 5.1 下):

编译的代码,但从不使用 NoDefCTor的默认构造函数(尽管显然需要它!):

当我不需要一个默认构造函数时,我真的不喜欢这个想法。附带说明一下,两个版本在 MSVC14 上都可以正常编译(和运行)。

0 投票
1 回答
856 浏览

c++ - 虚拟基类的构造函数参数

考虑以下代码:

虽然 clang 3.7 接受上述内容,但 gcc 4.8-std=c++11抱怨此代码:

我写的代码按照标准有效吗?这是实现我正在尝试的最佳方法,即将构造函数参数沿多继承树传递到实际保存数据的公共基类吗?或者我可以以某种方式简化它或让它与 gcc 一起使用吗?我是否可以假设通过多个父级间接继承虚拟基类的类总是必须直接显式调用基类的构造函数?

0 投票
0 回答
49 浏览

c++ - 继承时无法调用具有默认参数的构造函数

请看一下代码:

和用法:

错误消息(GCC 5.2.1):

我知道Boo没有默认构造函数,但是构造函数Foo已经被继承,不能这样调用。为什么?这是否意味着只有在派生类没有构造函数(或默认构造函数)时才能调用继承的构造函数?

0 投票
3 回答
50 浏览

c++ - 将基类 2 参数构造函数调用到子类 1 参数构造函数中

正如标题所说,我在子类构造函数中调用基类构造函数时遇到了一些问题

根据:

子类:

我得到的错误是 b 和 cu 未定义。感谢帮助