首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于&都有哪些用法?解决方案

2012-03-24 
关于&都有哪些用法?为什么有的加&有的没有呢?比如:booloperator(constSTATUS&sa,constSTATUS&sb)//这个o

关于&都有哪些用法?
为什么有的加&有的没有呢?比如:
bool   operator   ==   (const   STATUS&   sa,   const   STATUS&   sb)//这个operator前没有&
{
  ...
}

A   &   operate   =(const   A   &   other);//这个在operate前就有

请问在operate前的这个&是什么意思?


[解决办法]
大致说说引用
1.别名 int &b=a;
引用本身并不占用存储单元,而且不能建立对数组的引用。

2.引用作为参数;
void swap(int &a,int &b)
使用引用传参,在内存中并没有实参的副本,而是直接对实参操作;如果传递的是对象,需要调用拷贝构造。

3.常引用;
const int &b=a;
b=0;//error
string Fun();
void SFun(string &s);
SFun( "jackill ")//error; 临时常量是const类型,不能转换成非const;

4.引用作为返回值
float temp;
float &fn2(float r) //定义函数fn2,它以引用方式返回函数值
{
temp=(float)(r*r*3.14);
return temp;
}
规则:不能返回局部变量的引用;不能返回堆内存的引用;可以返回类成员的引用;操作符重载要求必须返回一个引用。

5.多态
class A;
class B:public A{}
B b;
A &a= b; //A *a=new B();
[解决办法]
class A
{
public:
A & operator =(const A &i);
};


void main()
{
A a,b,c;
a = b = c ;
}
先谢谢上面的各位啊,这个怎么编不过呀,
==================
你函数不定义怎么用,空函数那写个
{}

热点排行
Bad Request.