gpt4 book ai didi

c++ - 与子构造函数同名的继承类成员

转载 作者:行者123 更新时间:2023-11-30 02:14:40 27 4
gpt4 key购买 nike

考虑这个例子:

    class Label{
public:
std::string Text;
};

class Text:
public Label
{
public:
Text(std::string text) {}
};

int main()
{
Text text("");
text.Text; //<---- GCC CE: Invalid use of 'class Text'
return 0;
}
    class Text:
public Label
{
public:
Text(std::string text) {}
using Label::Text; // doesn't help either
};

如果它与子类同名,如何访问继承的类成员?

    class Text:
public Label
{
public:
Text(std::string text):
Text::Text(Label::Text){}
std::string &Text;
};

这样的东西能行吗? (我知道上面的代码没有。)

最佳答案

这里有一个解决方法(这很容易混淆);您可以通过基类名称访问基类的数据成员。例如

text.Label::Text;

关于c++ - 与子构造函数同名的继承类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57353641/

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