c ++构造函数,参数为私有成员

时间:2013-03-31 17:50:00

标签: c++ parameters constructor

使用基本构造函数以外的东西对我来说已经有一段时间了。问题是:

我正在使用像这样的构造函数

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");

这从来没有奏效,在私有内部初始化,我想我不明白。

我试过了:     私人的:         表LaTable;

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

这个问题是图像显示为白色方块。

有人能指出我如何处理这个问题的正确方向吗?

1 个答案:

答案 0 :(得分:3)

如果要创建Table对象作为类中的成员。要调用其构造函数,请使用该类的构造函数。做到这样的事情:

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

private:
    Table LaTable;
};