对象指针的创建

#include <iostream>
using namespace std;
class Time
{
    public:
    int hour;
    int minute;
    int sec;
    void get_time();
};
void Time::get_time()
{
    cout<<hour<<":"<<minute<<":"<<sec<<endl;
}
//对象指针的创建
Time *pt;//先定义pt指针
Time t1;
pt = &t1;//将对象的地址赋给这个指针
int main()
{
    (*pt).hour;
    return 0;
}

创建对象指针应先定义指向类的指针;再创建类的对象,将对象的地址赋给这个指针

指针创建完成后便可以利用指针的指向来访问成员

pt->hour;
(*pt).hour;
pt->get_time();
(*pt).get_time();

2、指向对象成员的指针

定义指向整形数据的指针,然后将对象t1的数据成员的地址赋给pt,让pt指向t1.hour

int *pt;
pt = &t1.hour;
cou<<*pt<<endl;

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

先理解如何创建一个普通的函数的指针变量

void (*p)()//定义void类型函数的指针变量
P = fun;//将fun函数的地址赋值给p
//直接可以通过该指针变量来调用fun函数
(*p)();

 创建指向对象函数的指针变量

数据类型名(类名::*指针变量名){参数列表};
void (Time::*p2)();
调用的时候
p2 = &Time::get_time();
(t1.*p2)();

posted @ 2022-07-31 17:11  鹅城小铁匠  阅读(95)  评论(0)    收藏  举报
Fork me on GitHub