如何在头文件中定义结构元素?

时间:2019-04-25 10:35:36

标签: c++ arrays struct

我是C ++的新手,所以请注意。 我想制作一个二十一点游戏,并有一个带有两个元素的结构,分别是卡片的名称和要点。除了第一个结构的类型以外,还有另一个结构。因此,现在我的第一个问题是,与在那边所做的事情相比,我如何能更好地定义名称和点。第二个问题是如何从结构数组中随机获取卡片。我希望有人能解决我的问题:)

class RootPageViewController: UIPageViewController, UIPageViewControllerDataSource, MainVCDelegate {

    func buttonPlusTapped() {
        if let thidViewController = viewControllerList.last {
            self.setViewControllers([thidViewController], direction: .forward, animated: false, completion: nil)
        }
    }

    lazy var viewControllerList:[UIViewController] = {

        let sb = UIStoryboard(name: "Main", bundle: nil)

        let vc1 = sb.instantiateViewController(withIdentifier: "timelineView")
        let vc2 = sb.instantiateViewController(withIdentifier: "mainView") as! MainViewController
        vc2.delegate = self
        let vc3 = sb.instantiateViewController(withIdentifier: "addView")
        return [vc1, vc2, vc3]
    }()
}

在cpp函数中定义...更好的方式?

struct CardInfos
{
    string name;
    int points;
};

struct cards
{
    CardInfos zwei;
    CardInfos drei;
    CardInfos vier;
    CardInfos fuenf;
    CardInfos sechs;
    CardInfos sieben;
    CardInfos acht;
    CardInfos neun;
    CardInfos Bube;
    CardInfos Königin;
    CardInfos König;
    CardInfos Ass;
};

1 个答案:

答案 0 :(得分:1)

您的卡片在我看来更像是一个名称空间,但两者都可以这样工作:

namespace cards {
    CardInfos zwei{"zwei", 2};
    CardInfos drei;//and so on
    CardInfos vier;
    CardInfos fuenf;
    CardInfos sechs;
    CardInfos sieben;
    CardInfos acht;
    CardInfos neun;
    CardInfos Bube;
    CardInfos Königin;
    CardInfos König;
    CardInfos Ass;
};