cardstack.h

来自「一个类似windows」· C头文件 代码 · 共 54 行

H
54
字号
#ifndef CARDSTACK_INCLUDED
#define CARDSTACK_INCLUDED

#include "card.h"

#define MAX_CARDSTACK_SIZE 128

class CardStack
{
	friend class CardRegion;

public:
	CardStack() : nNumCards(0) { }

	void		NewDeck();
	int			NumCards() const { return nNumCards; }
	void		Shuffle();
	void		Clear();
	void		Reverse();
	
	void		Push(const Card card);
	void		Push(const CardStack &cardstack);

	Card		Pop();
	CardStack	Pop(int items);

	Card		Top();
	CardStack	Top(int items);

	void Print();

	Card		RemoveCard(size_t index);
	void		InsertCard(size_t index, Card card);

	//subscript capability!!
	      Card & operator[] (size_t index);
	const Card & operator[] (size_t index) const;

	CardStack &operator += (Card card);
	CardStack &operator += (CardStack &cs);

	CardStack operator +  (Card card);
	CardStack operator +  (CardStack &cs);
		
private:	

	CardStack(CardStack &copythis, size_t fromindex);

	Card cardlist[MAX_CARDSTACK_SIZE];
	int  nNumCards;
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?