this:C++为类的成员函数提供了一个名为this的指针,称为自引用指针。每当创建一个对象的时候,系统就把this指针初始化为指向该对象!

  即this指针的值是当前调用成员函数的对象的首地址!!

  故而可以通过这个this指针,在成员函数中进行数据操作。例如:

#include<iostream>
using namespace std;
class Node
{
private:double x_;double y_;
public:Node(double x=0,double y=0){ x_=x;y_=y; }void copy(Node& node);    //形参为Node类的引用!void disp(void){ cout<<"\nthis="<<this<<"when x_="<<this->x_; }
};
void Node::copy(Node& node)
{if(this==&node) return;*this=node;
}
int main()
{Node nod1(1,2),nod2;nod1.disp();nod2.copy(nod1);nod2.disp();cout<<"\n";return 0;
}

  其中,在调用成员函数disp()的时候,this指针指向当前的类的对象。如nod1.disp();此时,this指向nod1的首地址。由于在类的声明中,成员函数在内存

  中是为所有类的对象共享的,故而,不同的对象在调用相同的成员函数的时候,如何区分是对象在调用呢?靠this指针!

  以上程序输出:

转载于:https://www.cnblogs.com/mt-luo/p/4162238.html

this 自引用指针相关推荐

  1. C语言中struct typedef 以及结构体指针用法

    struct .typedef以及结构体指针用法 typedef用法 结构体指针用法 结构体初始化   typedef是类型定义的意思.typedef struct 是为了使用这个结构体方便.具体区别 ...

  2. 【RTOS训练营】课程学习方法和C语言知识(指针、结构体、函数指针、链表)和学员问题

    一.课程学习方法 因为有些学员是刚进群,所以这里再把学习方法讲一下. 1. 预习 我们会在每一节晚课之后会通知要预习的章节,学员需要按如下操作观看相关视频. 1.1 打开百问网官网 ​1.2 点击首页 ...

  3. C++学习笔记:(一)面向对象 类与对象

    目录 1.面向对象的概念 2.类与对象 2.1 类的定义格式 2.2 对象的定义与使用 2.3 构造函数和析构函数 2.4 内存的动态分配 2.5 对象数组和对象指针 2.6 函数参数的传递机制 2. ...

  4. rust全息要啥才能做_在 Rust 中不能做什么

    编者注:上周 Armin 在自己的博客上首次发布了这个版本.如果你想再次阅读这篇文章,或者想看看 Armin 还在做什么,一定要去看看. 去年一直很有趣,因为我们用 Rust 建造了很多好东西,并且这 ...

  5. 深度剖析C语言结构体

    深度剖析C语言结构体 1.什么是结构 2.结构体的声明 3.结构体变量的定义 4.结构成员变量的访问: 5.结构体变量的初始化: 6.嵌套的结构体: 7.结构体数组: 8.typedef 9.结构的自 ...

  6. C++面向对象程序设计陈维兴版第四章所有例题

    本博文源于<C++面向对象程序设计陈维兴第三版>,第四章所有例题进行汇总! 文章目录 1.自引用指针this 2. 对象数组与对象指针 2.1 对象数组 2.2 对象指针 2.2.1 用对 ...

  7. C++面向对象程序设计教程

    前言 全篇使用标题+代码的形式,知识点的介绍写在代码部分的注释里.书籍为<C++面向对象程序设计教程(第四版)>(陈维兴 林小茶 编著). 第一章为基础概念,过于简单:第七章为输入输出流, ...

  8. Volatility2安装使用以及CTF比赛题目(复现)

    Volatility2安装使用以及CTF比赛题目(复现) 一 .简介 二 .安装Volatility 三 .安装插件 四 .工具介绍 五 .使用方法 1.系统基本信息(windows.info) 2. ...

  9. Thread Environment Block(TEB)

    TEB简介 TEB(Thread Environment Block,线程环境块)指线程环境块,该结构体包含进程中运行线程的各种信息,进程中的每个线程都对应着一个TEB结构体.不同OS中TEB结构体的 ...

最新文章

  1. 2021.09 电子学会 - 软件编程(图形化)试题讲解
  2. 运维-nginx +php 错误状态码说明
  3. HTML字符实体(Character Entities),转义字符串(Escape Sequence)
  4. gin自定义HTTP配置
  5. 飞凌开发板 cramfs 镜像文件修改
  6. Undefined control sequence. \makecover
  7. 别再面向 for 循环编程了,JDK 自带的观察者模式就很香!
  8. sql2008性能计数器注册表配置单元一致性失败
  9. 还在用iTunes管理iPhone这款软件帮你轻松解决
  10. python基础教程十进制_Python基础教程(五):数字、字符串
  11. android 简单的贪吃蛇小游戏
  12. html后台登录界面网页设计界面
  13. 《GhostXP_SP2电脑公司经典版v8.2》LONGWANG制作
  14. Java实现OPC UA Client直接与PLC通讯
  15. 从零到一:如何用你的电脑成功登录QQ
  16. 【附源码】计算机毕业设计SSM校园二手物品交易网站
  17. 添加wellcap和endcap作用
  18. python扫描局域网端口和ip_python实现扫描局域网指定网段ip的方法
  19. 【Linux】内存检测工具Valgrind
  20. 【汇正财经】什么是复盘?

热门文章

  1. android togglebutton 自定义,自定义控件之-----ToggleButton
  2. java jmx 监控_利用VisualVm和JMX远程监控Java进程
  3. 蓝桥杯大赛软件赛省赛,C/C++大学B组,改革后2019-2021真题知识点分类
  4. 在VS2015中使用SDL2.0
  5. Oracle→数字函数、字符函数、时间函数、SYSDATE、TO_CHAR()、TO_DATE()、TO_NUMBER()、NVLNVL2NULLIF、ROW_NUMBER()
  6. Servlet→简介、手动编写一个Servlet、使用MyEclipse编写一个Servlet、Servlet生命周期、路径编写规范、初始化参数、MVC设计模式
  7. python交叉编译环境_交叉编译Python
  8. wdatepicker 设置只显示时分_液晶显示多功能电力仪表EX8-33
  9. [蓝桥杯]试题 基础练习 Sine之舞
  10. Unity3D基础24:LineRenderer特效