Хорошо, сначала я рассмотрел различные вопросы, которые задавали вопрос о создании колоды карт, но каждый, кого я смотрел, использовал векторную вещь, я не уверен, как ее написать , потому что я не взял этот предмет в классе, поэтому я не знаю, как его применять.Создание колоды карт
Card.H
и Card.cpp
все в порядке, не нужно ничего менять в них
Мне не нужна помощь в Deck.H
и Deck.cpp
.
Функция initialize()
не закончена, и я не могу понять, как ее закончить и с другими методами в классе Deck. Я не пытался писать ни один из них, так как я не могу создать колоду карт.
CARD.H
Class Card
{
int m_face;
char m_suit;
public:
Card(int _face = 2 , char _suit = 3);
~Card();
int GetFace() const;
char GetSuit() const;
void SetFace(int _face);
void SetSuit(char _suit);
void Show() const;
}
CARD.CPP
#include "Card.h"
Card::Card(int _face, char _suit)
{
m_face = _face;
m_suit = _suit;
}
Card::~Card()
{
}
int Card ::GetFace() const
{
return m_face;
}
char Card ::GetSuit() const
{
return m_suit;
}
void Card::SetFace(int _face)
{
m_face = _face;
}
void Card::SetSuit(char _suit)
{
m_suit = _suit;
}
void Card::Show() const
{
if (m_face == 11)
cout << " J " << m_suit << endl;
else if (m_face == 12)
cout << " Q " << m_suit << endl;
else if (m_face == 13)
cout << " K " << m_suit << endl;
else if (m_face == 14)
cout << " A " << m_suit << endl;
else
cout << m_face << m_suit << endl;
}
deck.h
#pragma once
#include "stdafx.h"
#include "Card.h"
Class Deck
{
Card m_cards[52];
public:
Deck();
void Initialize();
void Shuffle();
bool Draw(Card& _card);
void Clear();
bool IsEmpty() const;
}
DECK.CPP
#include "Deck.h"
#include"Card.h"
void Deck::Initialize()
{
int count = 0;
char Suits[] = { 3, 4, 5, 6 };
for (int i = 0; i < 4; ++i) //Suits
{
for (int F = 2; F < 14; ++F) //faces
{
m_cards[count].SetSuit(Suits[i]);
m_cards[count].SetFace(F);
}
}
}
void Deck::Shuffle()
{
}
bool Deck::Draw(Card& _card
{
}
void Deck::Clear()
{
}
bool Deck::IsEmpty() const
{
}
Ваш вопрос? Ваш 'initialize' кажется полным для меня. Это должно быть в конструкторе. –
Используйте _vector thing_! Нет смысла решать проблемы управления памятью в C++. Это просто склонность к ошибкам, и у вас есть много ошибок, которых следует избегать. Любой учитель, рассказывающий что-то другое в базовом курсе C++, не стоит своей зарплаты, и вы должны немедленно покинуть этот курс. –
мой вопрос в том, как я могу закончить свою функцию инициализации –