我正在尝试创建一个具有扑克牌类的程序,但是我遇到了“未初始化的局部变量 'suit' used”错误。我一生都无法弄清楚为什么,因为我认为默认构造会为我初始化变量。我把我的代码放在下面来描述我的问题。
#include "Card.h"
#include <iostream>
using namespace std;
int main() {
Card Hand('D','H');
Hand.getSuit();
return 0;
}
这是我应该运行课程的驱动程序。这是我的程序文件:
#include "Card.h"
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
Card::Card()
{
suit = 'H';
rank = '1';
worth = 1;
}
Card::Card(char b , char h)
{
suit = 'H';
rank = 'H';
worth = 1;
}
char getSuit(){
char suit = suit;
cout << suit;
return suit;
}
这是我的头文件:
#ifndef CARD_H
#define CARD_H
class Card
{
private:
char suit;
char rank;
int worth;
public:
Card::Card();
Card::Card(char, char );
char getSuit();
char getRank();
int getWorth();
};
#endif