注册 登录
编程论坛 C++教室

类与函数的问题

love云彩 发布于 2013-06-06 23:55, 370 次点击
#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;

}
5 回复
#2
lzj125302013-06-07 08:09
Person& add_age(int i)//这一个函数和你上面的get_age等函数是一个性质的,只是他的返回值是引用,一个地址值。
#3
peach54602013-06-07 11:27
一个返回引用的类成员函数
#4
love云彩2013-06-07 13:08
回复 3楼 peach5460
就是说返回*this指针的地址,Person& 这个函数作用就是用来接收一个返回值为地址吗?
那样在实际中有什么用处?只是返回一个地址
#5
lzj125302013-06-07 14:18
this指针就是当前对象的地址。返回引用*this代表的就是当前对象。也就是指你调用Li.get_age()和(*this).get_age()是一样的效果。
#6
love云彩2013-06-07 14:21
受教了!谢谢你!
1