[英]Accessing variables/functions from another class
我正在制作紙牌游戲,我有一些課程。 我有一個Hand類,一個Player類,一個“Column”類(手牌后將卡放在屏幕上),我需要每個類都可以訪問其他類的變量。
class Hand
{
private:
int **Hx,Hy;** //Hand X, Hand Y
int HAmount;//Amount of cards in Hand
int HOwner; //Player 1/2
int Limit; //Limit of cards in Hand
int HContents[8]; //Card Position in 54 card deck NOT card value.
bool Removed;
public:
Hand();
void Lim();
void Get_Card();
void Show();
void Set_Values(int y, int Own);
};
然后在另一個類中,我需要訪問上面的一些變量。
void Card::show()
{
if((apply == true)
{
if((Track == true)&&(SelNum == TNum)&&(TOwner == COwner))
{
ScnPos = TAmount;
x = Tx;
y = Ty + ScnPos*10;
}
if((Hand == true)&&(**HOwner** == COwner))
{
x = **Hx** + ScnPos*45;
y = **Hy;**
}
apply_surface(x,y,Cards,Screen,&Clip[Pos]);
}
}
我嘗試過使用階級友誼和其他方法,但我無法使其發揮作用。 (顯然我有更多的變量需要同樣的處理)(忽略我的代碼中的任何錯誤)
代碼中的錯誤是真正的問題。 Card
沒有理由訪問Hand
的私人會員。 這是設計錯誤,而您的其他問題只是試圖告訴您。
那么,你應該為變量制作getters
和setters
。 例如:
class Test {
private: int a;
public: int GetA() {
return this->a;
}
void SetA(int a) {
this->a = a;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.