C++ --- 对象指针

这里是Joe本人的学习笔记,如果能帮助到你,那我受宠若惊!

对象指针的一般概念:

类的对象在初始化的时候会在内存中占有内存空间,既可以通过对象名,也可以通过对象地址来访问每个对象。(这时就用到了对象指针)

对象指针的声明:

语法形式:

类名*对象指针名;

Point * pointer;//声明对象指针
Point p1;//创造对象
Pointper=&p1//把对象p1的地址赋给指针

用对象指针访问对象的成员:

对象指针名->成员名

指向类的非静态成员的指针、

指向对象成员的指针需要先声明、再赋值、最后引用

声明:

类型说明符 类名::*指针名;//指向数据成员的指针

类型说明符 (类名::*指针名)(参数表);//指向函数成员的指针

赋值:

数据成员: 指针名 = &类名::数据成员名;

函数成员: 指针名 = &类名::函数成员名;

注意:

(关于数据成员)

由于类是通过对象而实例化的,在声明类的对象时才会为具体的对象分配内存空间。

访问数据成员时,可以通过以下两种语法实现:

  1. 对象名.*类成员指针名
  2. 对象名->类成员指针名

(关于函数成员)

类的成员函数虽然并不在每个对象中复制一份副本,但是由于需要确定this指针,因而必须通过对象来调用非静态成员函数。

因此,经过上述对成员函数指针的赋值,也还不能用指针直接调用成员函数,而是需要声明类的对象,然后用以下形式利用指针调用成员函数:

(对象名.*类成员指针名)(参数表)

(对象指针名-->*类成员指针名)(参数表)

你可能感兴趣的:(笔记,c++)