shaoguanfa 发表于 2015-1-18 15:45:11

关于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-18 17:59:50

本帖最后由 ?Ц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;
}

?Цtm 发表于 2015-1-18 16:44:41

只调用一个就好了

int main()
{
add (a,b,c);
return 0;
}

shaoguanfa 发表于 2015-1-18 17:12:08

?Цtm 发表于 2015-1-18 16:44
只调用一个就好了

int main()


无语,这个只能求和。。。我想要的是
如果输入1个数,只输出这个数的平方
如果输入2个数,只输出这2个数的积
如果输入3个数,只输出这3个数的和

shaoguanfa 发表于 2015-1-18 18:32:28

?Цtm 发表于 2015-1-18 17:59


这是什么意思啊?根本不能求结果的啊随便输入一个整数就直接退出了

shaoguanfa 发表于 2015-1-20 14:37:52

?Ц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>

爱琴海里的星 发表于 2015-1-20 15:25:10

{:1_1:}帮顶~

?Цtm 发表于 2015-1-21 03:37:26

shaoguanfa 发表于 2015-1-20 14:37


谢谢
页: [1]
查看完整版本: 关于C++函数重载问题