如何将字符串分配给INT变量
How do I assign a string to an int variable?
我正在制作一张卡和甲板程序,我对如何在构造函数中实现功能以使卡等等等于" ace" jack",而感到有些困惑"皇后"等。取决于数字。
Card::Card(char suiter, int ranker) {
suit = suiter;
rank = ranker;
if (rank == 1) {
rank = "Ace"; //Assign rank to "Ace" if the number equals 1
}
}
您可以尝试使用枚举。这实际上不是字符串,而是一组不共享价值的常数ints。
enum CardRank
{
Ace,
Two,
... ... ...
Jack,
Queen,
King
};
这将创建一个新的CardRank
,您可以在代码中仅用于卡等级。您只需使您的rank
成员成为CardRank
类型,就可以用名称参考其值。
在引擎盖下,这是出于大多数目的和目的,一个无符号的int只能接受从 Ace
(0(到 King
(12(
鉴于我没有看到您试图将此字符串写入屏幕,这可能是要走的路。即使您是 计划将此字符串写出,您可能还是要使用此枚举,并且仅在需要使用这样的查找时拔出字符串含义:
std::string RankNames[] =
{
"Ace",
"2",
... ... ... ...
"Jack",
"Queen",
"King"
};
CardRank rank = Ace;
std::cout << RankNames[rank] << std::endl;
您可能不想在构造函数中执行此操作。相反,当等级值相等的特定数字时,您可以更改Ostream的输出。例如:
ostream & operator<<(ostream &out, const Card &rhs) {
if (rhs.rank == 1) {
out << "Ace of ";
}
}
您不能将等级作为我的int和下一个字符串类型。如果您想创建类似的内容,请尝试将字符串类型用于等级。ho
相关文章:
- 为什么 'main' 函数中的局部 int 变量会自动初始化?
- 如何检查 int 变量是否包含合法(非陷阱表示)值?
- 将子字符串字符从字符串值转换为 int,然后将其分配给 int 变量
- 如何在传递给 C/C++ 宏之前解析 int 变量?
- 有什么方法可以使用 int 变量来完成组件名称吗?
- 如何将整数值解析为逗号分隔字符串中的单独 int 变量?
- 为什么我的 std::atomic<int> 变量不是线程安全的?
- std::out_of_range 在静态 int 变量上
- 如何转换 int 变量并附加到常量 wchar_t*
- 如何对 int 变量应用验证,使其仅接受整数数据,并且在任何其他数据的情况下不会出错?
- 如何将字符串分配给INT变量
- QT连接:使用lambda表达式重置通过了int变量(怪异)
- 如何将私有整数从A类传递到C 类B类的另一个INT变量
- C :用sizeof()operator在for for loop中增加一个int变量,只能工作一次
- 如何使用主函数和来自 getData 函数的用户输入将值初始化为 int 变量 im
- lambda捕获的const int变量的值类别
- 当用户输入int变量的字符串时,输出
- 将字符放入 int 变量中以停止循环
- 根据C++标准,int 变量是对象吗?
- C++为什么字符串的地址尽管是十六进制格式,但不能存储在 long int 变量中?