博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++ 函数声明
阅读量:6442 次
发布时间:2019-06-23

本文共 1120 字,大约阅读时间需要 3 分钟。

函数声明由返回类型、函数名和形参列表(这三个元素组成函数原型  function prototype)组成,形参列表可以只包含形参类型而不包含形参名。

函数通常在头文件中声明,在源文件中定义。

可以给函数添加默认实参,这样编译器会为省略的实参提供默认值。不过,如果有一个形参具有默认实参,那么它后面所有的形参都必须有默认实参。

string screenInit(string::size_type height = 24,                  string::size_type width = 80,                  char background = ‘ ‘);

调用screenInit时如果提供了实参,将覆盖默认的实参值。

string screen;screen = screenInit();         // equivalent to screenInit(24, 80, ‘ ‘);screen = screenInit(66);       // equivalent to screenInit(66, 80, ‘ ‘);screen = screenInit(66, 256);  // equivalent to screenInit(66, 256, ‘ ‘);screen = screenInit(66, 256, ‘#’);

需要注意的是,默认实参是用来替换函数调用缺少的尾部实参,并且是按位置解析(从所缺少的尾部实参的第一个位置开始匹配)。换句话说,如果要为screenInit()的background提供实参,就必须也为height、width提供实参。否则看如下示例:

screen = screenInit(‘?’); // calls screenInit(‘?’, 80, ‘ ‘);

本意是想将’?’传递给background,但实际却传递给了height(char类型实参隐式提升为string::size_type)。所以在设计带有默认实参的函数时,应该将最少使用默认实参的形参放在前面,最有可能使用默认实参的形参排在后面。

既可以在函数声明也可以在函数定义中指定默认实参,但在一个文件中,只能为一个形参指定默认实参一次。通常是在函数声明中指定默认实参,并将该声明放在合适的头文件中。如果在函数定义中指定默认实参,则只在包含该函数定义的源文件中调用该函数时,默认实参才有效。

【学习资料】 《c++ primer》

转载于:https://www.cnblogs.com/zhuyf87/archive/2013/02/04/2891941.html

你可能感兴趣的文章
shell脚本显示颜色的设置
查看>>
Cisco删除及添加access-list中的条目
查看>>
CentOS 6.2 手工安装VNC SERVER步骤
查看>>
sendcloud历险记
查看>>
Qmail 日志文件格式
查看>>
HTTP POST GET 本质区别详解 (转)
查看>>
云计算
查看>>
使用bamboo来实现负载均衡和服务发现
查看>>
一个简单PHP CURL类
查看>>
Oauth与Shiro整合的开源项目
查看>>
编译php 时的configure参数
查看>>
backtrack5 初步配置
查看>>
修改Windows2008 R2 DC墓碑时间
查看>>
day30:awk参考教程\扩展学习
查看>>
Jersey 2.x Glassfish 中基于 Servlet 的应用
查看>>
Flume Installation
查看>>
我的友情链接
查看>>
Centos-Server-Mysql服务(源码编译安装)--(三)
查看>>
Object-C中的字符串对象2-可变字符串
查看>>
xcode 添加三方库找不文件夹名字显示蓝色,引入不了头文件
查看>>