c++ - 用 C++ 实现一副纸牌

标签 c++ oop pointers

所以我正在尝试创建一副纸牌,但我对 C++ 和指针还是有点陌生​​,所以我有几个问题

所以我有 Card 类,其中包含 getRankgetSuit 以及两个 Card 对象的比较。 按照他们的方式,我设置套牌的等级是 1-13,花色是 1-4。所以这是一个简单的比较,将一张牌的等级+花色与另一张牌的等级+花色进行比较。

所以我像这样初始化并声明了两个数组:

char Rank[13] = {1,...13};
char Suit[4] = ...

我的方法是这样的:

char* getSuit(){ return Suit; }
char* getRank(){ return Rank; }
int Comp(Card *card) {
    if (rank+suit < card->rank+card->suit)
        return 1;
    else if...
    else ...
}

我的问题是,因为我只存储整数,所以使用 char 数组是不是一个坏主意? 稍后我计划将这些数字转换为输出“三叉戟”,这就是我使用 char 的原因。

我的另一个问题是,我的 get 方法看起来正确吗? get 方法,它会返回整个数组还是数组的索引,这正是我想要的。我是否正确使用了“->”?

我还在绘图过程中,这就是为什么我只有代码片段

最佳答案

->会获取LHS引用的对象的RHS元素的值。所以是的,只要您处理的是 LHS 上的指针,这是正确的。

您可以考虑使用枚举。

正如@littleadv 所说,我建议再次查看您的评估逻辑。

关于c++ - 用 C++ 实现一副纸牌,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5257801/

相关文章:

c - 为什么我得到 "warning: assignment from incompatible pointer type [enabled by default]|"

c++ - 如何改用求和语句来更改我的程序?

c++ - C 预处理器在多大程度上考虑整数文字后缀?

c# - 从派生类实例调用基类的虚方法

java - 使用方法重载处理违反 'Liskov substitution principle' 的类

c# - 使用运行时类型(在 C# 中)进行逻辑流

c - 使用 TYPE 进行元素分配时遇到问题

c++ - 无法打开文件 [TESTXML.xml]

c++ - 如何将字符串转换成char *数组

c - 动态内存和指针