OOP风格的问题

时间:2009-07-29 07:18:15

标签: c++ coding-style object

现在我正在编写一个程序来确定一手牌的价值。总共五个。我有一个cardHand对象。我打算编写一个对象,将两个对象组合在一起,以确定哪个手具有更高的值。将要比较的两个对象是包含可能的手值的对象(一对,三种等等)。

stackoverflow会将此视为OOP的拟合方法吗?

PS:我知道这个算法在互联网上流传,但是我试图通过我自己的第一次为XP做这个。

3 个答案:

答案 0 :(得分:2)

你想要做的是这样的事情:

  • 创建卡片类。在此课程中添加operator<,以便您可以确定单个卡片的分类。
  • 创建一个存储这些卡片集合的卡片收藏(手)类。定义一个运算符&lt;对于这个班级,也要确定手的分类。

如果您将卡片存放在手中的std::multiset,您的卡片会自动将它们组合在一起。

也就是说,如果您插入2, 7, 3, 4, 3,它们将按此顺序排列:2, 3, 3, 4, 7。这将帮助您确定对和连音符等内容。

答案 1 :(得分:0)

每个手对象不应该具有固有价值吗?然后你可以有另一个对象(经销商?)比较每只手的值。经销商也可用于实例化每个手对象。

然后,也许我将整个'建模问题域'的方法有点过分了。 ; - )

答案 2 :(得分:0)

定义决定哪一手更高的规则。

rule1&gt; rule2&gt;规则3 ...

与最大的比较。

判断hand是否适合rule1而不是hand1。

判断hand是否适合rule2而不是hand2。

...

如果它们在同一规则中,则在每个规则中制作类似的算法。

这只是一个想法......你可以考虑一下......