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

类中的符号!解决办法

2012-03-04 
类中的符号!在类中总看到如:classostream{public:ostream&flush()sostream&seekp(long)}其中的&表示什

类中的符号!
在类中总看到如:
class   ostream
{
public:
ostream   &   flush();
sostream   &   seekp(long);
};
其中的&表示什么意思啊?
谢谢!!

[解决办法]
在这个地方是引用
[解决办法]
返回一个引用
[解决办法]
这个函数返回的是一个引用.
但是注意引用不要renturn 局部变量的引用
[解决办法]
表示引用
比如
int& fun(int);

void fun(double&);

和它前面的型别结合在一起 表示该型别对象的一个引用

[解决办法]
本质上说,引用和指针类似,都是对变量地址的操作,声明的符号是&, 可能主要是对这个符号陌生所以不理解。简单的说,引用是变量的“别名”,对变量引用的操作结果和对变量本身操作一样。一个简单的例子,
...
class obj
{
public:
obj(){num=8;}
int getnum();
int & add(int a);
private:
int num;
};

int obj::getnum()
{
return num;
}

int & obj::add(int a)
{
num +=a;
return num;
}

int main()
{
obj test;
int & aRef =test.add(8);
cout < < "result from ref: " < <aRef < <endl;
cout < < "result from getnum(): " < < test.getnum() < <endl;
return 0;
}

结果:
result from ref:16
result from getnum():16

热点排行