;//摸牌
void
initcards()
;//初始化packcards surpluscards currcards
void
showinfo()
;void
showcards
(const vector<
int>&)
;//顯示牌面
protected
:private
: string m_nickname;
string m_***;
int m_gold;
long m_exp;
vector<
int> packcards;
//原始牌,從1到54
vector<
int> surpluscards;
//摸牌後,剩餘的牌
vector<
int> currcards;
//當前玩家的手牌陣列
bool
iscontains
(int);
//剩餘牌中是否包含cardnums這個牌面
void
deletecard
(vector<
int>&,
int)
;//刪除集合中的數字
string getcolor
(int);
//獲得牌的花色
string getvalue
(int);
//獲得牌面};
#endif
// landowner_h
#include
"landowner.h"
#include
#include
#include
#include
#include
#include
using
namespace std;
landowner::
landowner()
landowner::
landowner
(string nickname)
:m_nickname
(nickname)
landowner::
landowner
(string nickname, string ***,
int gold,
long exp)
:m_nickname
(nickname)
,m_***
(***)
,m_gold
(gold)
,m_exp
(exp)
void landowner::
showinfo()
void landowner::
initcards()
//初始化packcards surpluscards currcards
currcards.
clear()
;//showcards(packcards);
}void landowner::
showcards
(const vector<
int>
& cards)
//顯示牌面
*//*//法二 使用迭代器
for(vector::const_iterator iter = cards.begin(); iter != cards.end(); iter++)
*//*//法三 使用迭代器的簡寫方式 c++11的型別推斷功能auto
for(auto iter = cards.begin(); iter != cards.end(); iter++)
*//*//法四 c++11的for區間遍歷
for(auto card : cards)
*//* //使用演算法的方式,將容器的內容複製到cout繫結的迭代器中
//需要匯入標頭檔案 #include#includecopy(cards.cbegin(),cards.cend(),ostream_iterator(cout,", "));
*/for(
auto card : cards)
cout << endl;
}void landowner::
touchcard
(int cardcount)
//摸牌
else
} cout <<
"地主摸牌 當前手牌如下: \n"
;showcards
(currcards)
; cout <<
"\n********************\n地主摸牌後 剩餘牌面如下: \n"
;showcards
(surpluscards);}
bool landowner::
iscontains
(int cardnum)
else
}void landowner::
deletecard
(vector<
int>
& cardvec,
int card)
}string landowner::
getcolor
(int card)
//獲得牌的花色
;return colors[
(card-1)
/13];
//因為card不是下標,card-1才是下標
}string landowner::
getvalue
(int card)
//獲得牌面
使用類建立物件
棧記憶體中建立 類似宣告變數 自定義型別名 物件名 引數列表 student stu student stu 注意 1 stu物件由系統建立並釋放,不用擔心會出現記憶體洩漏 2 生命週期只在宣告區域的大括號內 3 棧記憶體的優勢是訪問速度比較快 僅次於暫存器 缺點是在棧中的資料大小與生存期必須是確定...
建立類 物件
二 用大括號建立物件 三 定義多個變數 四 引用 class number 構造方法 class number 例項方法 num 例項化物件 構造方法 class number 例項方法 num 例項化物件 var n1 newnumber 1 2 n1.num 1 console.log n1.i...
類和物件 建立物件
在物件導向程式設計中,物件是乙個非常重要的核心概念。從程式設計的角度來看,物件是物件導向方式的最基本單位,也是描述客觀事物的獨立的實體。建立物件的過程稱為例項化,當乙個物件被建立後,就包含了3個方面的特性 物件的控制代碼 屬性和方法。如果要使用某個類,首先要使用關鍵字 new 來建立該類的例項化物件...