C++之对象指针

来源:互联网 发布:淘宝丝袜4成是男的买的 编辑:程序博客网 时间:2024/04/30 15:29
对象指针1,指向对象的指针Time * pt;Time t1;pt = &t1;一个对象存储空间的起始地址就是对象的指针,可以定义一个指针变量,用来存放对象的地址,这就是指向对象的指针变量。访问对象成员pt -> hour;(*pt).getTime();2,指向对象成员的指针(1),指向对象数据成员的指针int *p1;p1 = &t1.hour;cout<<*p1<<endl;(2)指向对象成员函数的指针先复习一下指向普通函数的指针变量的定义方法void (*p) ();//p是指向void型函数的指针变量可以使p指向一个函数,并通过指针变量调用函数:p= fun;  //将fun函数的指针入口地址付给了指针变量p,p就指向了函数fun;(*p)();    //调用fun函数但是不能类似的指向成员函数,如以下是错误的p = t1.getTime();因为编译系统要求指针变量的类型必须与赋值号右侧额类型相匹配,但指针变量p与类无关,而getTime函数却属于Time类。所以应采用下面的方式:void(Time::*p2)();//定义p2为指向Time类中公用成员函数的指针变量注意(Time*p2)两侧的括号不能去掉,因为()的优先级高于*,没有括号,就变成了void(Time::*(p2());  //这是返回值为void类型指针的函数。定义指向公用函数的指针变量的一般形式为数据类型名(类名::指针变量名)(参数列表);可以让他指向一个公用成员函数,p2 = &Time::getTime;



0 0
原创粉丝点击