现在我正在编写一个程序来确定一手牌的值(value)。一共五个。我有一个 cardHand 对象。我打算编写一个对象来比较两个对象,以确定哪只手具有更高的值(value)。将要比较的两个对象是包含可能手牌值的对象(一对、三个同类......等等)。
stackoverflow 会将此视为适合 OOP 的方法吗?
PS:我确实知道该算法在 Internet 上四处流传,但我首先尝试自己为 XP 执行此操作。
最佳答案
你想要做的是这样的:
- 创建卡片类。添加
operator<
到这个类,这样你就可以确定单张卡片的排序。 - 创建一个卡片集合(手牌)类来存储这些卡片的集合。也为此类定义一个运算符<,以确定手牌的排序。
如果您将卡片存储在 std::multiset
中在手中,您的卡片会自动组合在一起。
也就是说,如果您插入 2, 7, 3, 4, 3
他们将按以下顺序排列:2, 3, 3, 4, 7
.这将帮助您确定诸如对和连音之类的东西。
关于c++ - OOP风格问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1198515/