#include
using namespace std;
void func(int IntData, int DefaultData = 0)
{
cout << "int实参,含有默认参数的函数被调用\n";
cout << IntData << "
" <<DefaultData <<endl;
};
void func(int IntData)
{
cout << "int形参,不含有默认参数的函数被调用\n";
};
void func(double DoubleData, int DefaultData = 0)
{
cout << "double形参,含有默认参数的函数被调用\n";
cout << DoubleData << "
" <<DefaultData <<endl;
};
void func(double DoubleData)
{
cout << "double形参,不含有默认参数的函数被调用\n";
};
int main()
{
int IntData = 3;
double DoubleData = 3.0;
float FloatData = 3.0f;
//func(IntData);
func(IntData, IntData);
func(IntData, DoubleData);
//func(DoubleData);
func(DoubleData, IntData);
func(DoubleData, DoubleData);
//func(FloatData);
func(FloatData, IntData);
func(FloatData, DoubleData);
}
为什么最后的结果是所有的形参的值都成了3?
|