gpt4 book ai didi

c++ - 指定针对具有相同名称的不同函数的类内 using 声明

转载 作者:行者123 更新时间:2023-12-03 21:55:16 24 4
gpt4 key购买 nike

使用 using 声明公开基类的方法时,如何公开具有相同名称但参数不同的方法?

class Base
{
protected:
void f();
void f(int);
};

class Derived: public Base
{
using Base::f; // which is exposed, and how can I manually specify?
};

最佳答案

这样,基类中的所有方法都将被公开,如果您只想使用派生类中的特定方法,则需要使用 forwarding function

class Base{
protected:
void f();
void f(int);
};

class Derived: public Base
{
public:
void f() //forwarding function
{
Base::f();
}
};

有关此方法的更多解释,您可以阅读 Scott Meyers 的第一本书,一个专门用于避免隐藏继承名称的项目( link 到此项目)

关于c++ - 指定针对具有相同名称的不同函数的类内 using 声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58038688/

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