如何使用任意非静态类方法调用AfxBeginThread?也许我可以用boostbind做些什么?以下是Microsoft的预期用法(并且是调用非静态方法的示例,但它是硬编码的方法):UINTMyThreadProc(LPVOIDpParam){CMyObject*pObject=(CMyObject*)pParam;if(pObject==NULL||!pObject->IsKindOf(RUNTIME_CLASS(CMyObject)))return1;//ifpObjectisnotvalid//dosomethingwith'pObject'return0;//threadco
类层次结构的一个非常常见的错误是将基类中的方法指定为虚拟方法,以便继承链中的所有覆盖做一些工作,而忘记传播调用到基础实现。示例场景classContainer{public:virtualvoidPrepareForInsertion(ObjectToInsert*pObject){//Nothingtodohere}};classSpecializedContainer:publicContainer{protected:virtualvoidPrepareForInsertion(ObjectToInsert*pObject){//SetsomepropertyofpObjecta
类层次结构的一个非常常见的错误是将基类中的方法指定为虚拟方法,以便继承链中的所有覆盖做一些工作,而忘记传播调用到基础实现。示例场景classContainer{public:virtualvoidPrepareForInsertion(ObjectToInsert*pObject){//Nothingtodohere}};classSpecializedContainer:publicContainer{protected:virtualvoidPrepareForInsertion(ObjectToInsert*pObject){//SetsomepropertyofpObjecta