新微赢技术网

标题: 这里是什么用法,叫做什么术语啊? [打印本页]

作者: 最ヅ后愛上你    时间: 2009-11-4 01:57
标题: 这里是什么用法,叫做什么术语啊?
#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,是属于什么用法啊,我怎么没有见过啊?谢谢回答!
作者: ︶ㄣ帅々︷`    时间: 2009-11-4 01:57
这不是C++中类中成员函数的定义吗,函数名为init,返回类型为 void
作者: 平淡♀芳    时间: 2009-11-4 01:57
int=0是给出了参数的默认值,这里省略了参数名
作者: 玉儿    时间: 2009-11-4 01:57
书上没有看见这么写的,看来得换一本书了
作者: 神①→沙加    时间: 2009-11-4 01:57
这是带默认实参的函数啊...

void init(int a,int b);//这个你认识吧...
void init(int a=0,int b=0);//这个带默认实参,你也应该见过吧...
void init(int,int);//这个省略参数名
void init(int=0,int=0);//这个带默认实参,,省略了参数名...
作者: 忘记∽所有    时间: 2009-11-4 01:57
真是奇怪!!这样也行!
我试验了一下,如果改成void init(int a=0, int b=0);也是行的
你改成别的,比如:
void init(int , int=0);
void init(int a, int b);
都不行!!所以,结论只有一个.
结论是,,如果你的函数形参全部有默认值的话,,调用的时候,可以省略.
可以 象A.init();这样调用.
作者: 缘分天空    时间: 2009-11-4 01:57
看看谭浩强老师写的那本c++,里面有讲到,这本书写的浅显 易懂




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2