

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


能够看到上面是实例,实际上,这个占位的参数,
就是占位置的功能.能够看到只写一个数据类型就能够.


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


上面是一个普通的函数.


我们给他加上第二个参数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的




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