我碰到了这段代码。
class SomeClass::OtherClass : public BaseClass
{
// stuff in here
}
SomeClass是一个类,所以OtherClass可能是存在于SomeClass范围内的类吗?我只是从未见过这样做。
那是什么意思?
最佳答案
给自己打一个勾号。那是什么意思。
在OtherClass
中声明了SomeClass
后,将使用该方法来随后定义ojit_code:
class SomeClass {
class OtherClass;
OtherClass* GetOtherClassInstance() { ...}
};
class SomeClass::OtherClass {
}
如果内部类仅在外部类的上下文中有意义,则可以这样做。
class Vector {
class Iterator;
Iterator* GetStart();
};
class Vector::Iterator {
details.
}
正如在其他地方提到的那样,pimpl习惯用法是对内部类的出色使用,并带有延迟的定义。