对象指针

mac2024-08-04  53

指向对象的指针

在C++中,建立对象时,编译系统会为每一个对象分配一定的存储空间,以存放其数据成员的值。一个对象存储空间的起始地址就是一个对象指针。可以定义一个指针变量,用来存放对象的地址,这就是指向对象的指针变量。

类名 * 对象指针

指向对象成员的指针

对象有地址,存放对象的起始地址的指针变量就是指向对象的指针变量。对象中的成员也有地址,存放对象成员地址的指针变量就是指向对象成员的指针变量。

指向对象的数据成员的指针

定义指向对象的数据成员的指针变量的方法和定义指向普通变量的指针变量的方法相同。

指向对象的成员函数的指针

定义指向对象成员函数的指针变量的方法和定义指向普通函数的指针变量方法有所不同。

指向普通函数的指针变量
void (*p)(); // p是指向void类型的指针变量

可以使p指向一个函数,并通过指针变量调用。

p = fun; // 将fun函数的入口地址赋给指针变量p,p就指向了函数fun (*p)(); // 调用fun函数
指向对象成员函数的指针

因为成员函数是类中的成员,所以要指定所属的类型

数据类型名 (类名:: *指针变量名)(参数列表); void (Time::*p2)(); // 定义p2为指向Time类中公用成员函数的指针变量 p2 = &Time::get_time; //使指针变量指向一个公用成员函数
最新回复(0)