C++ 指向类的指针

  • 指向类的指针

    指向C++类的指针的方法与指向结构的指针以及访问指向类的指针的成员的方法完全相同,您可以使用成员访问运算符->运算符,就如同对结构的指针一样。同样,与所有指针一样,您必须在使用指针之前对其进行初始化。让我们尝试以下示例,以了解指向类的指针的概念-
    
    #include <iostream>
     
    using namespace std;
    
    class Box {
       public:
          // Constructor definition
          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.
    
       // Save the address of first object
       ptrBox = &Box1;
    
       // Now try to access a member using member access operator
       cout << "Volume of Box1: " << ptrBox->Volume() << endl;
    
       // Save the address of second object
       ptrBox = &Box2;
    
       // Now try to access a member using member access operator
       cout << "Volume of Box2: " << ptrBox->Volume() << endl;
      
       return 0;
    }
    
    尝试一下
    编译并执行上述代码后,将产生以下结果-
    
    Constructor called.
    Constructor called.
    Volume of Box1: 5.94
    Volume of Box2: 102