标题:类与函数的问题
只看楼主
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
结帖率:100%
已结贴  问题点数:10 回复次数:5 
类与函数的问题
#include<iostream>
using namespace std;
class Person
{
public:
    Person(char n[2],int a)
    {name[2]=n[2];age=a;}
    int get_age()const
    {return age;}
    Person& add_age(int i)//这个是类函数吗? 多了一个&,不懂怎么称呼 Person& add_age(int i),求解答
    {
        age+=i;
        return *this;
    }
private:
    char name[2];
    int age;
};
void main()
{
    Person Li("li",20);
    cout<<"Li age"<<Li.get_age()<<endl;
    cout<<"Li add age="<<Li.add_age(1).get_age()<<endl;

}
搜索更多相关主题的帖子: return public include private 
2013-06-06 23:55
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
得分:5 
Person& add_age(int i)//这一个函数和你上面的get_age等函数是一个性质的,只是他的返回值是引用,一个地址值。

C++菜鸟
2013-06-07 08:09
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:5 
一个返回引用的类成员函数

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-06-07 11:27
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
得分:0 
回复 3楼 peach5460
就是说返回*this指针的地址,Person& 这个函数作用就是用来接收一个返回值为地址吗?
那样在实际中有什么用处?只是返回一个地址

思考赐予新生,时间在于定义
2013-06-07 13:08
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
得分:0 
this指针就是当前对象的地址。返回引用*this代表的就是当前对象。也就是指你调用Li.get_age()和(*this).get_age()是一样的效果。

C++菜鸟
2013-06-07 14:18
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
得分:0 
受教了!谢谢你!

思考赐予新生,时间在于定义
2013-06-07 14:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-414705-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058490 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved