

然后我们再来看一下函数的占位参数


可以看到上面是实例,实际上,这个占位的参数,
就是占位置的作用.可以看到只写一个数据类型就可以.


那么什么是占位参数呢,其实就是用来占位用的,


上面是一个普通的函数.


我们给他加上第二个参数int,可以看到只写了一个参数的类型,没写名字
调用的时候,需要给第二个参数传入一个值,可以看到只要是int类型的值就可以了.


执行可以看到结果.也是正常可以用的


上面对占位参数,做了一个总结.


但是这个占位参数,我们知道他存在,但是怎么去用呢
可以看到是第二个这个int参数,他没有变量来接收他
所以也没法使用,但是后面的课程我们会说他怎么用,实际上他是有用的.


而且,再看一个,占位参数还可以有默认值,可以看到
上面我们给占位参数写了一个默认值,这样的话,
我们在调用的时候,可以就传入占位参数的值了.


然后我们再去看函数的重载,这个在java和其他面向对象语言中都是有的.


可以看到函数的重载函数,名称一样.


可以看到在c++中,如果我们有两个一样名称,参数列表一样的函数,不报错


但是执行起来就报错.是不允许有两个一模一样的函数的
因为有两个一模一样的函数,编译器就不知道调用哪个了.


然后可以看到函数重载在c++中需要满足的3个条件.


我们挨个去试试,首先,
函数名称一样,函数参数不一样
func();
func(int a);


可以看到可以正常调用,不写参数的话,他自动调用的,不带参数的函数


写了参数的话他自动调用的带有参数的函数,提高复用性




然后还可以参数的类型不一样,也可以重载函数
可以看到上面我们又写了一个func函数,然后把参数改成了double类型的.


再去调用的时候写一个,3.14double类型的值,他就自动调用这个double类型参数的函数去了.


然后可以看到上面两个函数,名字都一样,但是
参数的类型的顺序不一样,这样也可以是函数重载.


去调用试试,如果第一个参数是整型,第二个参数是double类型,可以调用第一个函数.int a,double b的




如果第一个参数是double,第二个参数是int类型,可以调用第一个函数.doublea,int b的




可以看到不可以修改函数的返回值的类型,做为函数的重载,因为
返回值的类型,虽然变了,但是函数的名称和参数还是一样的,这样
编译器依然不知道去选择哪个函数调用.
这个注意就可以了.