您现在的位置是:网站首页>少儿C/C++编程少儿C/C++编程

c++编程进阶六-this指针的显式使用

少儿编程网2019-09-13 16:23:06少儿C/C++编程 人已围观 来源:高维数学

简介各位小伙伴大家好:今天要和大家的内容主要是this指针的使用和有关类外函数的实现(构造函数和成员函数)。

各位小伙伴大家好:

今天要和大家的内容主要是this指针的使用和有关类外函数的实现(构造函数和成员函数)。

首先还是来看一下程序的最终效果

c++编程进阶六-this指针的显式使用

结果显示了长方形的四个坐标,并输出了长方形的面积。

下面我们来看看代码:

c++编程进阶六-this指针的显式使用

c++编程进阶六-this指针的显式使用

c++编程进阶六-this指针的显式使用

代码中定义了两个类,一个点类:用于输出点的坐标,一个是长方形类:用于获取四个点的坐标以及计算面积。

另外长方形类需要两个参数,参数的类型是我们定义的MyPoint点类。作为长方形的左上角和右下角,然后再根据这两个的点坐标得出另外两个点的坐标。

最后再根据四个点的坐标求出长方形的面积。

笔记:

在定义MyPoint点类的时候传了两个参数(x,y)用于初始化点的坐标。只是在初始化的时候使用了this->x=x和this->y=y的方式,也就是显示的调用this指针。

至于为什么我们先来看一下如果不用会发什么情况

c++编程进阶六-this指针的显式使用

我们把this去掉之后,程序没报错正常运行。只是结果莫名其妙不是我们想要的。

然后我们再把形参名改一下,把x,y改成a,b。

c++编程进阶六-this指针的显式使用

结果正常显示,和前面使用this指针初始化效果一样。

分析:

原因就是这里形参名和私有变量名重名。也就是在实例化类,初始化变量的时候分不清x和y属于谁。

所以需要显式的调用this指针指向对象的成员变量x和y,这样就区分了对象的成员变量x,y和参数x,y。

结论:形参名和成员变量重名时需要显式的使用this指针。

本期就为大家分享到这里,我们下期再会。


扩展阅读:

支持一下吧 ( )

文章评论

      匿名评论
    • 评论
    人参与,条评论
    少儿编程网

客服在线

服务时间

周一至周日 9:00-21:00