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;
}