gpt4 book ai didi

c++ - C++继承和相同的函数名称

转载 作者:行者123 更新时间:2023-12-01 14:39:21 27 4
gpt4 key购买 nike

我有这种情况:

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);
};

关于c++ - C++继承和相同的函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62020736/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com