gpt4 book ai didi

c++ - 我应该如何命名这些类?

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:21 24 4
gpt4 key购买 nike

我有两组不同的类,它们继承自两个不同的基类(ValueToken)。

在这两个组中,我都会简单地调用 StringNumberName,只要它们的名称不与来自另一组的类名。

所以基本上我需要一种方法来区分继承自 Value 的类 String 和继承自 Token 的类 String ,我不知道该怎么做。

我不能将它们放在它们基类的命名空间中,因为它们继承自它们所在的同一个类,编译器给我一个“不完整类型的无效使用”错误。我该如何解决?

最佳答案

简单的解决方案是将它们命名为 StringValueStringToken

您不能在它们的基类中定义它们,例如:

struct Value
{
struct String : Value {};
};

但是您可以在命名空间中定义它们和基类:

namespace Value
{
struct Base {};
struct String:Base {};
}

然后引用Value::BaseValue::String

虽然我非常喜欢 namespace ,但在这种特殊情况下,我会倾向于使用 StringValue 解决方案。

(注意:我在示例中使用了 struct,因为它避免了所有与 public 的困惑。对于真正的代码,您可能想要使用 class 。)

关于c++ - 我应该如何命名这些类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40403066/

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