设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1444|回复: 6
打印 上一主题 下一主题

这里是什么用法,叫做什么术语啊?

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-4 01:57:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<iostream.h>
class location {int x,y;
public:void init(int=0,int=0);
       void value(int val){x=val;}
       int value(){return x;}
};
    void location::init(int a,int b){x=a;y=b;}
void main(){location A;
    A.init();
    A.value(6);
    cout<<A.value()<<endl;
}
这个程序里出现了一个public:void init(int=0,int=0);  (第三行)
这里的int=0,是属于什么用法啊,我怎么没有见过啊?谢谢回答!
2#
发表于 2009-11-4 01:57:13 | 只看该作者
这不是C++中类中成员函数的定义吗,函数名为init,返回类型为 void
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-4 01:57:14 | 只看该作者
int=0是给出了参数的默认值,这里省略了参数名
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-4 01:57:15 | 只看该作者
书上没有看见这么写的,看来得换一本书了
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-4 01:57:15 | 只看该作者
这是带默认实参的函数啊...

void init(int a,int b);//这个你认识吧...
void init(int a=0,int b=0);//这个带默认实参,你也应该见过吧...
void init(int,int);//这个省略参数名
void init(int=0,int=0);//这个带默认实参,,省略了参数名...
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-4 01:57:16 | 只看该作者
真是奇怪!!这样也行!
我试验了一下,如果改成void init(int a=0, int b=0);也是行的
你改成别的,比如:
void init(int , int=0);
void init(int a, int b);
都不行!!所以,结论只有一个.
结论是,,如果你的函数形参全部有默认值的话,,调用的时候,可以省略.
可以 象A.init();这样调用.
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-4 01:57:18 | 只看该作者
看看谭浩强老师写的那本c++,里面有讲到,这本书写的浅显 易懂
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 02:30 , Processed in 0.115003 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表