我正在重载一个函数,它只打印它作为参数接收的值。这是代码
#include<iostream>
using namespace std;
void show(int c)
{
cout<<"Int C : "<<c<<endl;
}
void show(char c)
{
cout<<"char C : "<<c<<endl;
}
void show(float c)
{
cout<<"Float C : "<<c<<endl;
}
void show(string c)
{
cout<<"String C : "<<c<<endl;
}
void show(const char* c)
{
cout<<"char *C : "<<c<<endl;
}
main()
{
string s("Vector");
show(25);
show('Z');
show("C++");
show("Hello");
show(4.9f);
show(s);
}
这里show(65)调用整数函数。
我是否可以简单地调用show(65)来打印ASCII等效值&#39; A&#39;即调用show(char)而不调用show(int)
答案 0 :(得分:4)
有没有可能我只需要调用show(65)来打印 ASCII等效值'A',即调用show(char)而不调用 显示(INT)
是。您将其转换为show(static_cast<char>(65));
show(char(65));
或使用“ function-style cast ”方式转换它。
<div class="fig-container">
<figure class="captioned-figure">
<img class="full-width" src="..."/>
<figcaption>
TEXT TEXT TEXT
</figcaption>
</figure>
</div>
注意:如果您的环境使用ASCII,这将仅 ,因为C ++不要求对字符进行ASCII编码。虽然使用不同编码的系统很少见。
答案 1 :(得分:1)
或者您可以尝试使用char类型创建变量,并且可以将其传递给Show函数。
前:
char test = 'Z';
Show(test);
它会起作用!
答案 2 :(得分:0)
不,它不会起作用,因为:
show(char(65))
。如果你已经知道你想要什么样的字符,你可以这样做:
show('A');