0

基本的なコンストラクター以外のものを使用することは、かなり長い間私にとって問題でした。問題はこれです:

私はこのようなコンストラクタを使用しています

Table(const std::string& LoadState)
{
    ImageManager ImgMgr;
    ImgMgr.add_resource_directory("img/");

    if (LoadState == "Menu")
    {

    }
    else if (LoadState == "CardFlip")
    {

    }
    else if (LoadState == "Game")
    {

    }
}

これは、ゲームの秒に応じて異なる画像をロードして、必要のないものが読み込まれないようにするためです。

これをメニューオブジェクトに実装しようとしています

private:
    Table LaTable("Menu");

これはうまくいきませんでした。プライベート内で初期化しましたが、私には理解できないと思います。

試してみました: private: Table LaTable;

constructor
{
    Table temptable("Menu");
    LaTable = temptable;
}

これに関する問題は、画像が白い正方形として表示されることです。

誰かがこれを処理する方法について正しい方向に向けることができますか?

4

1 に答える 1

3

のオブジェクトをTableクラスのメンバーとして作成する場合。そのコンストラクターを呼び出すには、そのクラスのコンストラクターを使用します。次のようにします。

// For example for a class named Menu
class Menu
{
public:
    Menu() : LaTable("Menu") // <--- Here
    { 
    }

private:
    Table LaTable;
};
于 2013-03-31T17:53:48.700 に答える