首页 > 编程语言 >C++ 指向类的指针

C++ 指向类的指针

时间:2023-06-08 09:33:05浏览次数:49  
标签:指向 double C++ Volume 2.0 指针

C++ 指向类的指针

一个指向 C++ 类的指针与指向结构的指针类似,访问指向类的指针的成员,需要使用成员访问运算符 ->,就像访问指向结构的指针一样。与所有的指针一样,您必须在使用指针之前,对指针进行初始化。

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

#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;
      }
   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
   Box *ptrBox;                // Declare pointer to a class.

   // 保存第一个对象的地址
   ptrBox = &Box1;

   // 现在尝试使用成员访问运算符来访问成员
   cout << "Volume of Box1: " << ptrBox->Volume() << endl;

   // 保存第二个对象的地址
   ptrBox = &Box2;

   // 现在尝试使用成员访问运算符来访问成员
   cout << "Volume of Box2: " << ptrBox->Volume() << endl;
  
   return 0;
}

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

Constructor called.
Constructor called.
Volume of Box1: 5.94
Volume of Box2: 102

标签:指向,double,C++,Volume,2.0,指针
From: https://www.cnblogs.com/share0956/p/17465247.html

相关文章

  • C++面试八股文:C和C++有哪些区别
    C++面试八股文:C和C++有哪些区别某日小二参加XXX科技公司的C++高级工程师开发岗位1面:面试官:请问C和C++的区别有哪些?小二:C++是C的超集。面试官:还有吗?小二:...面试官:面试结束,回去等消息吧。小二:淦。小二的答案对吗?实际上这句话是有问题的,严格的说,C语言和C++有很......
  • C++面试八股文:C++中,函数的参数应该传值还是传引用?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第8面:面试官:C++中,函数的参数应该传值还是传引用?二师兄:要看参数的用途。如果是出参,必须传引用。如果是入参,主要考虑参数类型的大小,来决定传值还是传引用。面试官:为什么不使用指针?二师兄:传指针也称之为传引用(passbyrefereence)。......
  • 混合编程python与C++
    上个版本:只是用到ctypes进行传输,这次将python服务端更改为C++服务端,方便后续维护.本文实现功能:python传输图片给C++,C++接受图片后对图片进行处理,并将结果返回给python客户端,passimagefrompythontoC++C++服务端.h文件注意文中的model//.h#pragmaonce#in......
  • 浅谈: C++中*&的含义
    指针引用int*&A;该类型要从右往左读:变量A,是一个引用&;谁的引用呢?指针*的引用。为什么有些函数形参要用*&而不直接用*呢?......
  • C++哈希算法(一)
    哈希设计思想:试想如果我们对一个数组进行查询,这个数组里,每一个元素都是一个字符串。我们知道数组最快的检索办法是通过数组的下标进行检索,但是对于这种场景,我们无能为力,只能从头查到尾,从而查询出目标元素。如果我们要根据名字找到其中的任何一个元素,就需要遍历整个数组。最坏情......
  • 蓝桥杯十一届JavaA组-C++解题
    随便乱写,目前正确性未知C.本质上升序列#include<bits/stdc++.h>usingnamespacestd;boolaccess[4][4];intdfs(intidx,intx,inty){ if(x<0||y<0||x>=4||y>=4) return0; if(access[y][x]) return0; if(idx>=15) return1; intcount=0; access......
  • C++ 日期 & 时间
     C++标准库没有提供所谓的日期类型。C++继承了C语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在C++程序中引用<ctime>头文件。有四个与时间相关的类型:clock_t、time_t、size_t 和 tm。类型clock_t、size_t和time_t能够把系统时间......
  • C++ 引用 vs 指针
     引用很容易与指针混淆,它们之间有三个主要的不同:不存在空引用。引用必须连接到一块合法的内存。一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。引用必须在创建时被初始化。指针可以在任何时间被初始化。https://www.lekaowan......
  • C++ 中创建引用
     试想变量名称是变量附属在内存位置中的标签,您可以把引用当成是变量附属在内存位置中的第二个标签。因此,您可以通过原始变量名称或引用来访问变量的内容。例如:inti=17;我们可以为i声明引用变量,如下所示:int&r=i;double&s=d;在这些声明中,&读作引用。因此,第一个......
  • 【面试】2023CVTE C++软开实习
    2023CVTEC++软开实习一面总结记录面试官看头像挺年轻的,不过他没有开摄像头,不能一睹芳容哈哈哈哈,面试过程中也很和蔼,“噢噢,了解~”是我听到最多的;总共50分钟左右,前二十分钟自我介绍+拷打项目,后面拷打基础,没有敲代码环节;第一次面试,一开始很紧张,后面说着话就又感觉没什么了,还是......