gpt4 book ai didi

c++ - 在为嵌入式类定义方法时,有没有办法避免重复包含类?

转载 作者:搜寻专家 更新时间:2023-10-31 01:53:43 25 4
gpt4 key购买 nike

在 C++ 中,我可以在声明成员函数的另一个类中定义一个类。稍后,当我为这些声明定义定义时,有没有办法不重复包含类。例如,我的标题可能如下所示:

class Outer {
class Inner {
void one();
void two();
void three();
};
};

然后,我的定义可能如下所示:

void Outer::Inner::one() { ... }
void Outer::Inner::two() { ... }
void Outer::Inner::three() { ... }

是否可以通过某种方式省略 Outer 而无需在声明点进行定义,也许通过使用 namespace 成为:

void Inner::one() { ... }
void Inner::two() { ... }
void Inner::three() { ... }

最佳答案

我没有具体尝试过这个(这里没有编译器),但我敢猜测,如果你正在使用一个内部类,比如::iterator,你可能会这样做:

using outerclass::innerclass;

然后做:

innerclass::foo() { /* def */ }

假设在外部类的范围内没有与您的内部类同名的全局变量。

此外,您绝对可以使用宏,也可以使用 typedef(不确定,但值得一试)。

我想说所有这些都会降低您的代码的可读性,而且无论您如何解决它,这都是一个坏主意。

关于c++ - 在为嵌入式类定义方法时,有没有办法避免重复包含类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10745203/

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