开发手册 欢迎您!
软件开发者资料库

C++ 指向类对象的指针

指针也就是内存地址,指针变量是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。本文主要介绍C++中指向类对象的指针。

C++ 指向对象的指针

创建对像时,编译系统会为每一个对像分配一定的存储空间,以存放其成员,对象空间的起始地址就是

对象的指针。可以定义一个指针变量,用来存和对象的指针。

例如,

#include using namespace std;class Area{   public:      // 构造函数定义      Area(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 Area      double breadth;    // Breadth of a Area      double height;     // Height of a Area};int main(void){   Area Area1(3.3, 1.2, 1.5);    // Declare Area1   Area Area2(8.5, 6.0, 2.0);    // Declare Area2   Area *ptrArea;                // Declare pointer to a class.   // 保存第一个对象的地址   ptrArea = &Area1;   // 现在尝试使用成员访问运算符来访问成员   cout << "Volume of Area1: " << ptrArea->Volume() << endl;   // 保存第二个对象的地址   ptrArea = &Area2;   // 现在尝试使用成员访问运算符来访问成员   cout << "Volume of Area2: " << ptrArea->Volume() << endl;     return 0;}