我在c ++函数中看到了一些内部结构的用法.
有一个共同的接口IBase.这是草案代码.
class IBase
{
virtual Method()=0;
}
vector<IBase*> baseList;
Run Code Online (Sandbox Code Playgroud)
然后,函数根据该IBase定义内部类,然后将内部类对象推送到baseList中.
void func()
{
struct Object : public IBase
{
virtual Method()
{
// Method of Object in func
}
}
IBase* base = new Object();
baseList->push(base);
}
Run Code Online (Sandbox Code Playgroud)
这似乎是一种奇怪的用法,但是消息/事件创建模式的一个很好的实现.
其他线程可能使用此baseList来处理传入的事件.
"struct Object"的内部结构的范围是什么?这很有趣.有没有一些文件在谈论这个?