对象指针就是指向对象的指针。
对象在内存中存储的就是类的数据成员,函数成员不在每个对象中存储副本。
对象指针的声明方式:
类名*对象指针名;
赋值方式:
对象指针名=&对象名;
使用对象指针和对象名都可以访问类的成员,使用对象指针的访问方式:
对象指针名->类的成员;
(*对象指针名).类的成员;
这两种方式和:对象名.类的成员;这种方式是等价的。
对象指针的一个应用:
在前向引用声明中,声明了一个类名后,在没有给出完整的类的定义时,不能定义改类的对象,也不能在内联函数中使用类的对象,但是却可以定义对象指针,例如:
class A;
class B{
A *a;//正确,可以定义对象指针
A a;//错误,不能定义对象
};
class A{
B b;
};
在上面的例子中,声明了一个前向引用声明后,就可以定义对象指针。
以上就是我对于对象指针的一些认识。