C++ this 指针

在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址。this 指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。

友元函数没有 this 指针,因为友元不是类的成员。只有成员函数才有 this 指针。

下面的实例有助于更好地理解 this 指针的概念:

实例

#include <iostream>
 
using namespace std;
 
class Box
{
   public:
      // 构造函数定义
      Box(double l=2.0, double b=2.0, double h=2.0)
      {
         cout <<"Constructor called." << endl;
         length = l;
         breadth = b;
         height = h;
      }
      double Volume()
      {
         return length * breadth * height;
      }
      int compare(Box box)
      {
         return this->Volume() > box.Volume();
      }
   private:
      double length;     // Length of a box
      double breadth;    // Breadth of a box
      double height;     // Height of a box
};
 
int main(void)
{
   Box Box1(3.3, 1.2, 1.5);    // Declare box1
   Box Box2(8.5, 6.0, 2.0);    // Declare box2
 
   if(Box1.compare(Box2))
   {
      cout << "Box2 is smaller than Box1" <<endl;
   }
   else
   {
      cout << "Box2 is equal to or larger than Box1" <<endl;
   }
   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

Constructor called.
Constructor called.
Box2 is equal to or larger than Box1

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++中的数学函数汇总

    math.h 数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有:

    于小勇
  • tf.ConfigProto主要用来配置生成的会话

    通过ConfigProto可以配置类似并行的线程数、GPU分配策略、运算超时时间等参数。在这些参数中,最常使用的有两个。

    于小勇
  • python 字符串的split()函数详解

    split翻译为分裂。  split()就是将一个字符串分裂成多个字符串组成的列表。

    于小勇
  • 文化产业交出漂亮成绩单 今年以来保持8%左右增速 | 每周文旅资讯精选(8.19-8.25)

    ? ? 文旅IP创新发展论坛即将于10月举行 与行业精英共话IP旅游新趋势 2019年10月16日,中国玩具和婴童用品协会主办将于上海新国际博览中心举办“文旅...

    腾讯文旅
  • JAVA之常用开发工具

    工欲善其事必先利其器,要想学好java这门语言,选择一款好用顺手的开发工具是必不可少的。另外面试Java工作时开发工具的使用也是一个重要的考核点。

    23号杂货铺
  • “互联网+旅游”深度融合 需解决哪些问题?

    ? 近日,第六届世界互联网大会在浙江省桐乡市乌镇举行,大会在发布全球互联网领先科技成果的同时聚焦产业互联网领域热点问题,并预示其未来发展走向。 近年来,人工智...

    腾讯文旅
  • cocos creator 中使用自定义shader

    为了减少游戏资源,游戏中免不了会使用一些shader,下面是一个将图片变灰shader,以此来看看如何在cocos creator中使用和管理shader。

    bering
  • Nodejs建站笔记-注册登录流程的简单实现

    1. 使用Backbone实现前端hash路由 登录注册页面如下: ? 初步设想将注册和登录作为两个不同的url实现,但登录和注册功能的差距只有form表单...

    寒月十八
  • 剑指OFFER之数值的整数次方(九度OJ1514)

    题目描述: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 输入: 输入可能包含多个测试样例。 ...

    用户1154259
  • 腾讯安全反病毒实验室:捕获多起Ramnit僵尸网络家族的DDoS攻击

    0x1 概况 近期,腾讯安全反病毒实验室和腾讯云安全团队感知到多起DDoS攻击事件,攻击目标包括为金融、婚恋、博彩等类型的网站,研究发现这几起攻击来自于同一僵尸...

    FB客服

扫码关注云+社区

领取腾讯云代金券