C++ 指向对象的指针
创建对像时,编译系统会为每一个对像分配一定的存储空间,以存放其成员,对象空间的起始地址就是
对象的指针。可以定义一个指针变量,用来存和对象的指针。
例如,
#include <iostream> 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; }