【C++学习笔记】:对象指针
C++指向对象的指针
C++建立对象时,编译系统会为每一个对象分配一定存储空间,让存放其成员。对象空间的起始地址就是对象的指针,可以定义一个指针变量,用来存放对象的指针。
定义指向类对象的指针变量的一般形式为
类名 * 对象指针名;
可以通过对象指针访问对象和对象的成员
C++指向对象成员的指针
在C++中,对象是有地址的,存放对象初始地址的指针变量就是指向对象的指针变量,对象中的成员也有地址,存放对象成员地址的指针变量就是指向对象成员的指针变量。
1、指向对象数据成员的指针
定义指向对象数据成员的指针变量的方法和定义指向普通变量的指针变量方法相同。
数据的指针变量 定义指向对象数据成员的指针变量的一般形式为
数据类型名 *指针变量名;
2、指向对象成员函数的指针
C++定义指向对象成员函数的指针变量的方法,与定义指向普通函数的指针变量方法有所不同。
成员函数与普通函数有一个最大的区别:成员函数是类中的一个成员。
定义指向公用成员函数的指针变量的一般形式为
数据类型名 (类名∷*指针变量名)(参数表列);
指针变量指向一个公用成员函数的一般形式为
指针变量名=&类名∷成员函数名;
案例:C++对象指针的使用
#include <iostream>
using namespace std;
class Time
{
public:Time(int,int,int);
int hour,minute,second;
void getTime(); //声明成员函数
};
Time::Time(int h,int m,int s)
{
hour=h;
minute=m;
second=s;
}
void Time::getTime()//定义成员函数
{
cout<<hour<<"点"<<minute<<"分"<<second<<"秒"<<endl;
}
int main( )// 程序的主函数
{
Time time(20,22,45); //定义Time类对象time
time.getTime(); //调用函数
// 定义指向整型数据的指针变量point,并指向time.hour
int *point=&time.hour;
cout<<*point<<endl;
return 0;
}
编译运行结果:
20点22分45秒
20
--------------------------------
Process exited after 0.07195 seconds with return value 0
请按任意键继续. . .