
C++中,对象自加时,为何要把operator ++()函数写在类里面?
4个回答
展开全部
重载运算符函数可以做成员函数,也可以做友元函数,目的都是可以让其可以访问类的成员数据。无论做友元还是成员,都需要在类声明里进行声明,也可以在类体内写函数体。
追问
那普通变量的自加 。那个内置运算符函数又是在哪个作用域里面?
追答
在系统自带的类库中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
操作符重载,分为成员重载和友元重载,以a+b为例,成员重载,其显示调用格式为a.operator+(b),友元重载,其显示调用格式为operator+(a,b)。即成员重载,operator+作为类的成员函数存在,友元重载,operator+并不是该类的成员函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实际上 这个重载就是作为 类内的成员存在的 实际上所谓重载只不过 提供一种便捷操作的方式
比如说++ 它也可以用add() 这样的函数来实现啊 只不过从语义上还有可读性上 ++要更好
比如说++ 它也可以用add() 这样的函数来实现啊 只不过从语义上还有可读性上 ++要更好
更多追问追答
追问
嗯 我是问,为何一定要是成员函数,为何要以调用成员函数这种形式来完成自加,这跟运算符函数的语法规定有什么联系么
追答
实际上你想想 只有成员函数才能范围 私有的成员变量(当然友元也行) 所以如果要对变量进行操作 当然会选择 作为成员函数 比较方便
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
operator++(); // ++ 前缀operator++(int); // ++ 后缀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询