C++学习笔记(五)

来源:互联网 发布:网络大电影错爱 编辑:程序博客网 时间:2024/05/22 15:46

        今天来学习一下Overload——重载;它和Override——重写是有区别的。
        通常,自然语言中同一个词可以代表多种不同的含义,具体含义要依赖上下文来确定。这就是所谓的一次多义——该词被重载(Overload)了。
        在C++中,还有另外一个因素会使函数名重载:构造函数。因为构造函数的名字预先由类的名字确定,所以看上去只能有惟一一个构造函数名。但如果我们想用多种方法来创建一个对象时该怎么办呢?因此,函数重载对于允许函数同名是必不可少的。在这种情况下,构造函数是与不同的参数类型一起使用的。
        函数重载意味着,我们有两个库,他们都有相同名的函数,只要他们的参数列表不同就不会发生冲突。
        C++中有一个很通用的特征叫做默认参数(default argument)。默认参数就是在用户调用一个函数时没有制定参数值而由编译器插入参数值的参数。因此,f("hello")、f("hi",1)和f("howdy",2,'c')可以用来调用同一个函数。他们也可能用来调用三个已重载的函数,但当参数列表相同时,我们希望调用同一个函数来完成相同的操作。
        使用默认参数的规则:第一,只有参数列表的后部参数才是可默认的,不可以在一个默认参数后面又跟一个非默认的参数。第二,一旦在一个函数调用中开始使用默认参数,那么这个参数后面的所有参数都必须是默认的。
        默认参数只能放在函数声明中,通常在一个头文件中。编译器必须在使用该函数之前知道默认值。 

        我对重载和默认参数的学习体会就这么多,剩下的就是要在Coding慢慢品味了。

原创粉丝点击