首页 > 编程语言 > 详细

【C++】C++自学旅程(3):函数与预处理

时间:2016-01-28 12:25:11      阅读:135      评论:0      收藏:0      [点我收藏+]

  C++当然也是有函数的,而且跟C基本一致,但增加了很多新的特性。关于函数的定义、声明、调用等跟C一致的内容我就不说了,下面只记载一下学到的新东西。

一、函数重载

  简单的说,就是函数名相同、函数参数表不同(参数类型或者个数不同)的几个函数构成重载,系统可根据参数自动判定调用哪个函数。如:

int max(int a, int b)
{
    ......
}
double max(double a, double b, double c)
{
    ......
}

......

  但注意,函数类型并不是决定函数重载是否正确的条件,也就是说参数表相同,函数名相同,只有函数类型不同,是不能正确构成重载的,如下面就是错误的:

int max(int, int)
{
    ......
}
double max(int, int)
{
    ......
}

  系统无法知道到底调用哪一个。

所以,函数重载:

1、函数名相同;2、形参个数或形参类型至少有一个不相同。

 

二、带默认参数的函数

int add(int a=10, int b=10, int c=10)
{
    return a+b+c;
}

  这样,如果调用时是:add(),得出的结果就是30,若是add(2),那么得出结果是22,以此类推……

  只是要注意的是,默认形参只能放在靠右,如以下几种是错误的:

int add(int a=1, int b=2, int c);
int add(int a=1; int b, int c=3);
......

  另外值得一提的是,带默认参数的函数和函数重载不要一起用,容易搞混。

【C++】C++自学旅程(3):函数与预处理

原文:http://www.cnblogs.com/HappyCtest/p/5165620.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!