c++ - 试图继承一个类具有带参数的构造函数 - c++
问题描述
我有两个类,我想继承其中一个具有带参数的构造函数的类,但是出现错误。
头等舱:
class stack{
stack(int variable){
}
...code...
};
二等:
class Expression : public stack{
//class constructor
Expression(){
}
...code...
};
我得到的错误...
在构造函数 'Expression::Expression()':error: no matching function for call to 'stack::stack()'
注意:候选:stack::stack(int)
注意:候选人期望 1 个参数,提供 0 个参数
注意:候选:constexpr stack::stack(const stack&)
注意:候选:constexpr stack::stack(stack&&)
解决方案
我在网上搜索过,没有找到任何可以帮助我解决这些错误的东西。
但是经过多次尝试,我找到了解决方案……如果您有更好的方法来解决这些错误或用更好的词或更科学的词来描述我的解决方案,请分享。
解决方案:问题出在语法上......从堆栈类继承的第二个类“Expression”应该有一个如下定义的构造函数......
class Expression : public stack{
// How the constructor should be defined.
Expression():stack(parameter_value){
}
...code...
};
因此,整个代码将如下所示:
class stack{
stack(int variable){
}
...code...
};
class Expression : public stack{
// How the constructor should be defined.
Expression():stack(parameter_value){
}
...code...
};
推荐阅读
- javascript - (.SVG,.PNG)未加载到反应组件中
- python - 将响应对象中的图像保存为python中的文件
- maven - 如何使用 IntelliJ 和 Maven 构建 Gatling 脚本?
- java - 向kafka dlq发送错误消息时获取ClassCastException
- bash - 在 awk 脚本头中指定其他标志
- sql - oracle如何调用函数
- python-3.x - 如何在变量表中创建一个空列表以在关键字表中使用它?
- linux - 为什么这个简单的 Makefile 会陷入无限循环?
- android - 如何提高 ScrollView 的性能?
- sql - 将多行转换为具有多列的一行