函数默认参数
void set(string name,double price,int wheel = 4)
{
}
set("qq");//不调
set("qq",100);//调
set("qq",100,5);//调
void set(string name= "qq",double price = 100,int wheel = 4)
{
}
set();//调
set("qq");//调
set("qq",100);//调
set("qq",100,5);//调
【总结】:
被调函数没有默认值参的个数=<主调函数的实参个数(按从左至右)<=被调函数所有形参个数(按从左至右),都能调用成功
也就是主调函数参数必须要覆盖被调函数没有默认值的部分,才能调用被调函数,否则编译报错。
会干扰普通函数的重载,要小心!
Car(string brand,double price,int wheel);
Car(string brand,double price,int wheel = 4);
这两个构造函数算一个,所以不算重载,不能同时出现,编译出错