有没有更简单的方法来执行此操作,而不是手动将每个元素插入到数组中
stack_of_cards << Card.new("A", "Spades", 1)
stack_of_cards << Card.new("2", "Spades", 2)
stack_of_cards << Card.new("3", "Spades", 3)
stack_of_cards << Card.new("4", "Spades", 4)
stack_of_cards << Card.new("5", "Spades", 5)
stack_of_cards << Card.new("6", "Spades", 6)
stack_of_cards << Card.new("7", "Spades", 7)
stack_of_cards << Card.new("8", "Spades", 8)
stack_of_cards << Card.new("9", "Spades", 9)
stack_of_cards << Card.new("10", "Spades", 10)
stack_of_cards << Card.new("J", "Spades", 11)
stack_of_cards << Card.new("Q", "Spades", 12)
stack_of_cards << Card.new("K", "Spades", 13)
stack_of_cards << Card.new("A", "Hearts", 1)
stack_of_cards << Card.new("2", "Hearts", 2)
stack_of_cards << Card.new("3", "Hearts", …Run Code Online (Sandbox Code Playgroud) 我正在用Java制作一个二十一点程序,我开始编写一个对象卡的类声明.这是否足够,或者我应该采用哪些方法来掩饰?
public class Card {
public int suit; //Value 1-4 to represent suit
public int value; //Value 1-13 to represent value (i.e. 2, J)
public Card(int suit, int value) {
//Not yet implemented
}
}
Run Code Online (Sandbox Code Playgroud)
另外,有一种很好的方法可以在Java中使用C++的枚举数据结构,因为这对卡片名称和套装来说会很好吗?
我想知道如何将3个arraylists中的所有信息发送到一个数组.
Arraylist clubs = new Arraylist
Arraylist spades = new Arraylist
Arraylist hearts = new Arraylist.
int[] array = new int[52]
Run Code Online (Sandbox Code Playgroud)
我在每个arraylists中得到1到13的值,现在我想将三个arraylists的所有值复制到数组[52].
我只是从Deitel看这个例子:
#include <stdio.h>
struct card {
char *face;
char *suit;
};
int main( void )
{
struct card aCard;
struct card *cardPtr;
aCard.face = "Aces";
aCard.suit = "Spades";
cardPtr = &aCard;
printf( "%s%s%s\n%s%s%s\n%s%s%s\n", aCard.face, " of ", aCard.suit,
cardPtr->face, " of ", cardPtr->suit,
( *cardPtr ).face, " of ", ( *cardPtr ).suit
);
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我看到有一个指向char的指针,但从未想过你可以使用char *... 来保存字符串
问题是:这里如何处理内存,因为我没有看到任何类似的东西char word[50].
我试图创建一个Deck包含向量的类unique_ptr<Card>,但尝试对向量进行排序会导致此错误:
错误1错误C2280:'std :: unique_ptr> :: unique_ptr(const std :: unique_ptr <_Ty,std :: default_delete <_Ty >>&)':尝试引用已删除的函数
通过Stack Overflow,看起来VS 2013中有一个错误,其中向量错误地尝试复制unique_ptrs而不是移动它们,所以我试图将我自己的移动函数添加到我的Deck类中,但我仍然得到错误.
这是有问题的代码的最小示例(Card只是一个虚拟类,其中没有对象):
加入deck.h:
#include "Card.h"
#include <vector>
#include <memory>
class Deck
{
public:
typedef std::unique_ptr<Card> cardPtr;
Deck();
Deck(Deck && other)
: mDeck(std::move(other.mDeck))
{
}
Deck& operator=(Deck other)
{
swap(*this, other);
return *this;
}
friend void swap(Deck& lhs, Deck& rhs);
void sortDeck();
private:
static bool compareCards(cardPtr A, cardPtr B);
private:
std::vector<cardPtr> mDeck;
};
Run Code Online (Sandbox Code Playgroud)
Deck.cpp:
#include …Run Code Online (Sandbox Code Playgroud)