关闭

C++编程思想学习—函数重载与默认函数

507人阅读 评论(0) 收藏 举报

1、函数重载

       C++中可以用相同的函数名但是参数列表不同来区分函数。编译器连接时会修饰这些名字、类型、范围来产生内部的名字供连接器使用。但是由于返回值对于函数的调用不是必须的,有些函数调用只是利用了函数调用的副作用。而不要求其返回值。所以,C++中静止用返回值的不同来产生函数的重载。

2、联合

       联合同class除了数据存储的方式不同,union为内存区覆盖式存放,别的都一样,union也可有构造、析构函数,也可以由成员函数、访问控制符。但是union也有一个缺点即初始化后,使用成员函数去操作成员变量时,可能错误的选择了目前错误的成员变量。如:某一时刻初始化为存放一个int型的数据,但这时候缺错误的用成员函数去访问float型数据。

3、默认参数

       默认参数就是在函数声明时给定某些参数一定的默认值。这样在编译时如果编译器发现对于这个函数的调用未给出此位置参数的值,则编译器将默认值赋予此位置的参数。但是使用时注意:默认参数必须放在参数列表的最后。不能在默认参数后面的位置出现非默认参数。

       默认值的使用简化了调用函数时的繁杂的输入一些一般情况下不变的参数。同时使得:在程序设计的初期定义了一组参数,而在后来发现需要增加一些参数时,可以把这些新增的参数都作为默认的参数。这样就可以不用改变客户程序的代码。

       默认参数使用的另一原则是,不要把默认参数当做函数代码分支选择的标志,如果出现这种情况则为了是代码易维护和阅读,应该讲这一个函数分成两个或者多个重载函数。

      本文纯为个人学习C++编程思想时个人心得体会,所以,难免有不严谨之处,甚至有可能是错误的理解。如发现错误,或者疑问。欢迎提出讨论,共同学习、进步
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:421288次
    • 积分:4013
    • 等级:
    • 排名:第7781名
    • 原创:67篇
    • 转载:60篇
    • 译文:1篇
    • 评论:33条
    最新评论