国美三星手机价格表:哪位大哥帮我解释一个C++的问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 19:56:45
学C++的过程中遇到这样一段代码:
1、class rect;
2、class point
3、{
4、private:
5、int x;
6、int y;
7、public:
8、point(int xx=0,int yy=0):x(xx),y(yy){} ;
9、friend int inrect (const point&,const rect&);
10、};
……
其中第8行的冒号(:)和第9行的“&”符号是什么意思,怎么个用法,哪位大哥、大姐帮我解释一下好么,不胜感激!

:后面的叫初始化表,C++才有的,就是给类里面的成员赋值,这里就是把point的x设成xx的值,y设成yy的值。C++里面,这样赋值的顺序是根据x跟y在类里面声明的顺序决定的,这里就是先x后y,即使写成:y(yy),x(xx)也是这样。Effective C++里面建议使用初始化表。

&是引用的意思,就是变量的另一个别名,对它的操作就是操作了传入的参数,效果跟指针一样。但是指针传入的时候需要取地址,引用就不用。比如,这里的inrect函数两个调用可以这样:
point p;
rect r;
inrect(p, r);
就可以了。
引用在一般的程序中也可以用。
int i = 0;
int &j = i;
j = 1;
这里j就是i的一个引用,改变了j就是改变了i,这样i就变成1了。
要注意的是,引用只有在定义的时候才能初始化。

冒号: 在构造函数的后面使用冒号表示初始化成员列表
:x(xx),y(yy) 这里的意思是使用 xx 初始化 x,使用 yy初始化 y。
在第九行中的号表示引用这里是常量引用

;是构造函数的一个用法,具体不大记得了。很少用!
&是引用参数的意思

:号代表在类里生命过的函数 在外边定义
&是引用参数

不是冒号有什么用法,而是构造函数中初始化类的成员变量。其中x(xx)表示用xx初始化x, 用yy初始化y.

&:表示该参数是一个引用,可以把他当成指针来看待