我喜欢在头文件中编写我的类声明并稍后定义它:如果我希望某些内容能够内联,或者在cpp中,则稍后在头文件中定义它。通过这种方式,我可以保持我的课堂声明整洁,轻松。
但是,我想在类(迭代器)中创建一个类
是否可以在类中声明它并稍后定义它? 怎么样?
答案 0 :(得分:3)
是的,你只需要添加包含类的名称,然后添加范围解析运算符::
和内部类的名称,就像这样
// A.h
class A {
public:
class B {
public:
B() { }
void dostuff();
};
A() { }
void doStuff();
};
// A.cpp
void A::doStuff() {
// stuff
}
void A::B::doStuff() {
// stuff
}
A a;
a.doStuff();
A::B b;
b.doStuff();
对于您可以拥有多少个嵌套类没有(实际)限制,您只需继续添加::
即可进一步使用。