c++ - C++ 继承和相同的功能名称
问题描述
我有这种情况:
class A
{
public:
A();
virtual ~A();
void doSomething();
};
class B : public A
{
public:
B();
void doSomething(int parameter);
};
如果我执行以下操作:
int main()
{
B b;
b.doSomething();
}
它给了我一个编译错误(没有匹配的功能)。如何在不更改B
函数名称的情况下解决这个问题?B
派生自A
所以它也doSomething()
有无参数的功能。为什么它不起作用?谢谢您的帮助。
解决方案
目前,B::doSomething
隐藏 A::doSomething
.
您可以使用using
来解决您的问题:
class B : public A
{
public:
using A::doSomething;
B();
void doSomething(int parameter);
};
推荐阅读
- pyspark - Databricks 中的 SARIMAX statsmodel 奇怪错误
- c++ - 函数在 C++ 中返回假值
- bash - 用于运行多个 test-and-or 语句的 Bash 简写
- c++ - 调用在复制它的函数中移动参数值的函数
- c# - 我想设置同步融合的位置:DropDownButtonAdv 固定在网格上
- python - 是否有一个数学函数可以从浮点数中去除小数(在 Python 中)?
- amazon-web-services - 如何使用 aws 来保护非 aws 源的 https 域?
- sql - URL 中的这个 SQL 查询有什么作用?
- google-sheets - 在 Google 表格中,如何将数组元素作为单独的参数传递给 Google 表格本机函数?
- c# - 配置 IIS 10 以在 Windows 服务器上运行运行 dot net 4.0 的 MVC2 项目。目前只返回500