关于C++函数重载问题
<p>#include <iostream>using namespace std;
void add(int a);
void add(int a, int b);
void add(int a, int b, int c);
int main()
{
int a, b, c;
cin >> a >> b >> c;
add(a);
add(a, b);
add(a, b, c);
system("pause");
return 0;
}
void add(int a)
{
cout << a*a<<endl;
}
void add(int a, int b)
{
cout << a*b<<endl;
}
void add(int a, int b, int c)
{
cout << a + b + c<<endl;
}</p><p> </p> 本来以为明白了,可是要实现单个的输出该怎么办呢?
试了好几种方法都不行,来个人帮帮解答一下吧。
想这个问题想得上火了!!!{:5_111:}
本帖最后由 ?Цtm 于 2015-1-21 03:38 编辑
#include <iostream>
using namespace std;
void add(int a);
void add(int a, int b);
void add(int a, int b, int c);
int main()
{
ABC:
int a, b, c;
cout << "(1)求平方(2)求两数的乘积(3)球三个数的和\n";
cin >> a;
switch (a)
{
case 1:
cout << "请输入一个数\n";
cin >> a;
add(a);
break;
case 2:
cout << "请输入两个数\n";
cin >> a >> b;
add(a, b);
break;
case 3:
cout << "请输入三个数\n";
cin >> a >> b >> c;
add(a, b, c);
break;
}
cout << "1继续2退出\n";
cin >> a;
if (a == 1)
goto ABC;
return 0;
}
void add(int a)
{
cout << a*a << endl;
}
void add(int a, int b)
{
cout << a*b << endl;
}
void add(int a, int b, int c)
{
cout << a + b + c << endl;
}
只调用一个就好了
int main()
{
add (a,b,c);
return 0;
} ?Цtm 发表于 2015-1-18 16:44
只调用一个就好了
int main()
无语,这个只能求和。。。我想要的是
如果输入1个数,只输出这个数的平方
如果输入2个数,只输出这2个数的积
如果输入3个数,只输出这3个数的和 ?Цtm 发表于 2015-1-18 17:59
这是什么意思啊?根本不能求结果的啊随便输入一个整数就直接退出了 ?Цtm 发表于 2015-1-18 17:59
<p> case 2:
21. cout << "请输入两个数\n";
22. cin >> b >> b;//这里应该是cin>>a>>b;这样就完美运行了<img alt="" src="http://bbs.fishc.com/static/image/smiley/lovely/20080925104555417.gif" border="0" smilieid="92">
23. add(a, b);
24. break;
</p><p> </p> {:1_1:}帮顶~ shaoguanfa 发表于 2015-1-20 14:37
谢谢
页:
[1]