注册 登录
编程论坛 C++教室

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

junpeng1 发布于 2008-09-10 18:17, 693 次点击
#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,是属于什么用法啊,我怎么没有见过啊?谢谢回答!
6 回复
#2
守鹤2008-09-10 18:20
这不是C++中类中成员函数的定义吗,函数名为init,返回类型为 void
#3
ailing2008-09-10 18:20
int=0是给出了参数的默认值,这里省略了参数名
#4
junpeng12008-09-10 18:30
书上没有看见这么写的,看来得换一本书了
#5
blueboy820062008-09-10 18:30
这是带默认实参的函数啊...

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
zzt_4282008-09-10 21:01
奇怪
真是奇怪!!这样也行!
我试验了一下,如果改成void init(int a=0, int b=0);也是行的
你改成别的,比如:
void init(int , int=0);
void init(int a, int b);
都不行!!所以,结论只有一个.
结论是,,如果你的函数形参全部有默认值的话,,调用的时候,可以省略.
可以 象A.init();这样调用.
#7
Alex_Lau2008-09-10 22:09
看看谭浩强老师写的那本c++,里面有讲到,这本书写的浅显 易懂
1