Подражать МФЦ Механизм Динамического основания - PullRequest
0 голосов
/ 09 марта 2012

Когда я выучу MFC ,, я хочу подражать некоторому механизму, здесь я просто хочу подражать механизму динамического создания MFC для создания объекта Simple. , Спасибо ...

class Object;
struct classRuntime 
{
    Object* pBasedClass;
    Object* pNextClass;
    char* className;
    Object* CreateClass();
};

class Object
{
public:
    static struct classRuntime ObjectClassRuntime;
    Object() {
        cout<<"Object constructor"<<endl;
    }
    static Object* CreateObject() {
        return new Object;
    }
};

 classRuntime Object::ObjectClassRuntime = {NULL, NULL, "Object", 
                                                          Object::CreateObject};

enter image description here

1 Ответ

1 голос
/ 09 марта 2012
class Object;

struct ClassRuntime {
    Object*   basedClass;
    Object*   nextClass;
    char*     className;
    Object* (*instanceFactory)();
};

class Object
{
public:
    static const ClassRuntime ObjectClassRuntime;
    Object() {}
    static Object* CreateInstance() { return new Object; }
};
const ClassRuntime Object::ObjectClassRuntime = {NULL, NULL, "Object", Object::CreateInstance};

class Toto : public Object
{
public:
    static const ClassRuntime TotoClassRuntime;
    Toto() {}
    static Object* CreateInstance() { return new Toto; }
};
const ClassRuntime Toto::TotoClassRuntime = {NULL, NULL, "Toto", Toto::CreateInstance};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...