0

私は会社のためにより複雑なシステムをやっています。それぞれ (描画、更新) に対して 1 つのループを保持する割り当てがあります。ただし、彼らのシステムでは、さまざまな計算のために基本クラスを拡張する必要があります。いくつかのエクステンダーがあります。これをテストするために私がしたことは->

struct base_line
{
    template<typename a> bool operator+=(a b){bs[0] = b;}
    virtual void foo(){}
    base_line *bs[2];
};

struct base : base_line
{
    virtual void foo(){
        printf("Nice\n");
    }
};

base_line bse;
base bser;

int _tmain(int argc, _TCHAR* argv[])
{
    bse+=bser;
    while(true)
    {
        if(bse.bs[0]){
            bse.bs[0]->foo();
        }
    }
    return 0;
}

ただし、もちろん base から base_line * に変換することはできません。これは基本的に私が達成しようとしていることを台無しにします。前に示したコードは、仮想 foo(); を起動することになっています。良い\nを印刷しています。どうすればこれを達成できるか知っている人はいますか?

4

0 に答える 0