gpt4 book ai didi

c++ - 如何在某个类中定义的其他类中使用用户定义的类型?

转载 作者:行者123 更新时间:2023-11-28 00:10:27 25 4
gpt4 key购买 nike

猜猜我们有这样的类

class A{
public:
struct B{
...
};
typedef B C;
};

然后,我想在其他类中使用C类型,即其他cpp。

如何使用?

谢谢

最佳答案

如果您声明了一个类,那么在类声明中您就位于该类的命名空间中。让我们看一个简单的类:

class Sample{
public:
void doSomething();
};

假设我们还有一个命名空间:

namespace sampleNamespace{
void doAnotherThing();
}

如果你想为这两个函数指定一个指针,你会说:

auto* ptrFunction = Sample::doSomething;
auto* ptrAnotherFunction = sampleNamespace::doAnotherThing;

所以语法本身是一样的。现在让我们考虑您的示例:

class Sample{
public:
struct A{};
typedef B A;
};

然后让我们将其转换为命名空间约定:

namespace Sample{
struct A{};
typedef B A;
}

现在,如果您想使用结构 A,您可以同时执行这两种操作(但成员必须公开可见):

//first option
Sample::A variableName;

//second option
Sample::B variableName;

虽然你当然不能使用 using namespace 来实现这个:)所以通常在这种情况下,您可以将类视为命名空间。

关于c++ - 如何在某个类中定义的其他类中使用用户定义的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33431252/

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