//在程序中编写三个名为add的重载函数,分别实现两整数相加、两实数相加和两复数
#include
#include
#include
//----------------------------------------
typedef struct complex_nick_name
{
float real;
float imag;
}
COMPLEX, *ptrCOMPLEX;
//----------------------------------------
int add(int add1, int add2);
float add(float add1, float add2);
COMPLEX add(COMPLEX add1, COMPLEX add2);
void print_COMPLEX(COMPLEX data);
//----------------------------------------
int add(int add1, int add2)
{
return (add1+add2);
}
float add(float add1, float add2)
{
return (add1+add2);
}
COMPLEX add(COMPLEX add1, COMPLEX add2)
{
COMPLEX sum;
sum.real = add1.real + add2.real;
sum.imag = add1.imag + add2.imag;
return sum;
}
void print_COMPLEX(COMPLEX data)
{
cout<
//----------------------------------------
int main()
{
int add1_int = 5;
int add2_int = 6;
int sum_int = 0;
float add1_float = 7.6;
float add2_float = 8.5;
float sum_float = 0;
COMPLEX add1_complex = {1.1, 2.2};
COMPLEX add2_complex = {3.7, 4.2};
COMPLEX sum_complex = {0, 0};
sum_int = add(add1_int, add2_int);
sum_float = add(add1_float, add2_float);
sum_complex = add(add1_complex, add2_complex);
cout<<"sum_int = "<
print_COMPLEX(sum_complex);
getchar();
return 0;
}
//----------------------------------------
templete
const T& add(const T& t1, const T& t2)
{
return t1 + t2;
}
一个模板就可以解决