关于对象指针

一、对象指针:

作用:指向对象的指针。用来容纳对象地址的指针,指向的是一个对象。

定义:类名 *对象指针名;eg:Time *ptr;

Time *ptr;//定义对象指针
Time t1; //定义对象t1;
ptr=&t1; //将对象t1的地址赋给对象指针;

使用方式:

*ptr  表示ptr指向的对象t1;

(*ptr).hour 表示ptr指向的对象中hour的成员;

ptr->hour 表示ptr指向的对象中hour的成员;

ptr->get() 表示ptr指向的对象中get()成员函数;

二、指向对象成员的指针:

对象成员有两类,一是数据成员,二是函数成员。因此指向对象的成员的指针也分为两种,一是普通的指向数据的指针,二是指向函数的指针。

  1. 指向数据成员的指针,即数据指针。
    int *p;  //定义指向整形数据的指针;
    p=&t.hour;  //将对象的某个数据成员的地址赋给p,p指向t.hour;
  2. 指向函数成员的指针,即函数指针。

函数指针的定义: 函数返回值类型   (*指针变量名)(函数参数表列)例如:void(*p)();

void(*p)();//函数指针的定义原则: 函数返回值类型 (*指针变量名)(函数参数表列)

为了确保函数指针与指向的函数相匹配,必须实现函数返回值、函数参数表列相匹配。在指向成员函数的指针中,除了上述两点外,还必须满足所属类的匹配

因此,指向对象成员函数的指针定义及使用原则如下:

数据类型名 (类名::*指针变量名)(参数表列);

void(Time::*p)();//定义指向Time类中成员函数的指针

使指针变量指向一个类中成员函数的一般形式:

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


p=&Time::get;//将time类中成员函数get的地址赋给函数指针p;

 

 

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值