CPP学习之——函数的重载(10.1)

一 概述

本节主要学习如下内容:

  • 普通函数的重载
  • 成员函数的重载

二 普通函数的重载

2.1 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<iostream>
using namespace std;
void func(int);
void func(long);
void func(float);
void func(double);

void func(int a) {cout << "a的平方为:" << a * a << endl;}
void func(long b) {cout << "b的平方为:" << b * b << endl;}
void func(float c) {cout << "c的平方为:" << c * c << endl;}
void func(double d) {cout << "d的平方为:" << d * d << endl;}
int main()
{
int a = 1;
long b = 100000;
float c = 1.5;
double d = 6.4579;
cout << "a:" << a << endl;
cout << "b:" << b << endl;
cout << "c:" << c << endl;
cout << "d:" << d << endl;
func(a);
func(b);
func(c);
func(d);
return 0;
}

2.2 输出结果

1
2
3
4
5
6
7
8
a:1
b:100000
c:1.5
d:6.4579
a的平方为:1
b的平方为:1410065408
c的平方为:2.25
d的平方为:41.7045

2.3 代码说明

  • 普通func函数被重载了,func函数的参数分别为int、float、long、double

三 成员函数的重载

3.1 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<iostream>
using namespace std;
class cube
{
private:
int i;
int j;
public:
void sum();
void sum(int x, int y);
};
void cube::sum()
{
cout<<"i的立方:"<<i*i*i<<"\t"<<"j的立方:"<<j*j*j<<endl;
}
void cube::sum(int x,int y)
{
i=x;
j=y;
cout<<"i:"<<i<<"\t\t"<<"j:"<<j<<endl;
}
int main()
{
cube a;
a.sum(2,3);
a.sum();
return 0;
}

3.2 输出结果

1
2
i:2		j:3
i的立方:8 j的立方:27

3.3 代码说明

  • 类cube中成员函数sum被重载了