请教一些语法问题。

zhengjianping 2003-09-30 05:08:50
class Counter {
public:
Counter & operator ++ (); //这里是返回Counter &这个类型,不过
//不明白是什么意思?特别是这里的"&"代表什么?
Counter(int val):value(val) {}
int GerValue() {return value;}
private
int vahue;
};

别的都能理解就是不明白Counter &这个是什么意思,我知道是返回的类型,可就是没见过这种用法,特别是这里的“&”的意思。

帮忙一下。
...全文
78 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengjianping 2003-10-02
  • 打赏
  • 举报
回复
谢谢大家的帮忙。
zhengjianping 2003-10-02
  • 打赏
  • 举报
回复
楼上的
----------------------------------------------------------------------------
1:int& abc();函数中&是什么作用?

int &a(int &i)
{
return i;
}
main()
{
int j=10;
a(j)=100;
//这时候j=100了
}
就是这样子,返回引用的话就是返回一个变量的地址里面的内容,就是真正地返回这个变量本身拉,它可以用作左值,以改变返回的引用的变量的值,j在进入函数后,函数中i和函数外的j是一个变量,返回的值和i是一个变量,所以,经过赋值以后j的值变化,在操作符重载=号中这种方式要经常用到,所以掌握这个知识还是很有必要di

int x = 0;
int &a(int &i)
{
i = - 1;

return x ;
}
main()
{
int j=10;
a(j)=100;

//这时候j = -1,x = 100.了
--------------------------------------------------------------------------------
这一段不会是你一个字一个字打出来的吧,是否在电子书粘贴过来的呢,如果是的话能告诉我什么书吗。如果是打字的话,也谢谢了。
lovselina 2003-10-01
  • 打赏
  • 举报
回复
c++的特点就是的,
可以看看关于引用的章节。存放的内容是地址。
顶一顶。`1呵呵
yintongshun 2003-10-01
  • 打赏
  • 举报
回复
多看看基础的书
tonybaobao 2003-09-30
  • 打赏
  • 举报
回复
返回一个Count对象的引用,你看看cpp里面,这个函数一定最后一定是return *this;
heartwell 2003-09-30
  • 打赏
  • 举报
回复
操作符重载,这是一种相对标准的格式,&返回操作之后的对象,这样就和平时使用++操作符没什么两样了。
lh_lihong 2003-09-30
  • 打赏
  • 举报
回复
//应该为左值,打错了
一般来说,加上&,表示返回值是return语句中对象本身,而非其copy。所以返回值是可以作为左值(lvalue)使用的:

并要注意,这种写法是与C++语法中,前缀运算符的意义相同的。

lh_lihong 2003-09-30
  • 打赏
  • 举报
回复
Counter & operator ++ ();
这个函数的定义,一般应该为这样的形式
Counter& Counter::operator++(){
value++;
return *this;
}
一般来说,加上&,表示返回值是return语句中对象本身,而非其copy。所以返回值是可以作为作值使用的:
Counter cVar;
(++cVar) = Counter(1); //合法
而不加入&,上式一般来说不合法。

weakwater 2003-09-30
  • 打赏
  • 举报
回复
该类重载“++”运算符,返回值实现可赋值操作,例如:创建一个对象conter cont1,cont2;
cont1++;即执行该函数实现操作,cont2=cont1++表示把cont1结果返回给cont2(当然这里也要实现“=”操作符重载,如果没有返回值,则上述等式错误,无法将cont1结果赋值给cont2;that's all!如仍有问题,请跟贴!
bluebohe 2003-09-30
  • 打赏
  • 举报
回复
所谓引用,就是起一个别名
akiko 2003-09-30
  • 打赏
  • 举报
回复
Counter& 返回Counter类型的引用
bluebohe 2003-09-30
  • 打赏
  • 举报
回复
1:int& abc();函数中&是什么作用?

int &a(int &i)
{
return i;
}
main()
{
int j=10;
a(j)=100;
//这时候j=100了
}
就是这样子,返回引用的话就是返回一个变量的地址里面的内容,就是真正地返回这个变量本身拉,它可以用作左值,以改变返回的引用的变量的值,j在进入函数后,函数中i和函数外的j是一个变量,返回的值和i是一个变量,所以,经过赋值以后j的值变化,在操作符重载=号中这种方式要经常用到,所以掌握这个知识还是很有必要di

int x = 0;
int &a(int &i)
{
i = - 1;

return x ;
}
main()
{
int j=10;
a(j)=100;

//这时候j = -1,x = 100.了
}
Layworld 2003-09-30
  • 打赏
  • 举报
回复
&是指变量引用的意思,这也是C++的一个特性,区别于C语言。

详细的说法你可以找C++的入门的书看看。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧