首页 > 编程知识 正文

this指针的用法,指针指的是什么

时间:2023-05-06 04:09:03 阅读:41130 作者:3085

由于c分别存储成员变量和成员函数,因此每个非静态成员函数只能生成一个函数实例。 也就是说,同一类型的多个对象共享一个代码。 如果需要在一个代码中调用自己,可以使用this指针。 this是c提供的特殊对象指针,不需要定义。

this指针指向被调用的成员函数所属的对象

第一个用途:如果形参和成员变量具有相同的名称,则可以使用this指针进行区分

sructmember(member ) intscore ) { this-score=score; //this-成员变量=形参} int score; (; int main () memberN1 ) 5; coutn1.scoreendl; //5}当然,如果形参和成员变量的名称不同时,可以不使用this指针

第二个用途:以类的非静态成员函数返回对象本身。 可以使用return *this进行链编程

sructmember(member ) intscore ) { this-score=score; ) memberaddscore(membern )//如果不在此使用,则返回的也是一个对象,但该对象不是n1,而是临时创建的对象({ this-score=n.score ) 返回* This; (} int score; (; int main () memberN1 ) 5; 成员N2 (100; 成员3 (30; n1 .添加得分(N2; //5100=105N1.addscore(N2 ).add score (n3 ); //105 100 30=235 coutn1.scoreendl; //235}

AddScore ()函数返回对象并引用该对象,因此该对象为n1

sructmember(member ) intscore ) { this-score=score; }memberaddscore(membern ) /这里没有使用引用。 返回的也是对象,但此对象不是n1。 临时创建的对象。 ({ this-score=n.score; 返回* This; (} int score; (; int main () memberN1 ) 5; 成员N2 (100; 成员3 (30; n1 .添加得分(N2; //5100=105N1.addscore(N2 ).add score (n3 ); //105 100=205 coutn1.scoreendl; //205}

AddScore ) )函数返回对象,但没有引用,因此该对象也是临时创建的n1’,而不是n1。 n1’的AddScore ) )函数运行一次后返回n1’)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。