C++ 对象指针(函数指针)
1、指向对象的指针:
对象的起始地址就是对象的指针,可以定义一个指针变量用来存放对象的指针;
Time *pt; //定义pt为指向Time类对象的赋值指针变量
Time t1; //定义t1为Time类的对象
pt = &t1; //将t1起始地址赋给pt;
*pt 此时pt指向的对象已经是t1了;
(*pt).hour
指向对象中的hour成员
pt->hour;
2、指向对象成员的指针:
指向对象数据成员:
一般形式------数据类型名 *指针变量名;
同上面的例子:他如果time是公用数据类型,就可以通过把time指定为指针
在类外通过指针对象数据成员来访问hour;
pl = &t1.hour;
cout<<*pl;
指向对象成员函数的指针
需要注意的是,定义执行对象成员函数的指针变量的方法,和定义普通函数的指针变量方法是不同的!!!
普通函数指针变量定义
数据类型名(*指针变量名)(参数列表);
void(*p)(); //P是指向void型函数的指针变量
这样定义的函数指针变量可以用来指向一个函数,并且调用函数;
p= fun; //将fun函数的入口地址赋值给指针变量p;
(*p)(); //调用fun函数
对象成员函数的使用就没有这么简单了,
首先来看一下成员函数和普通函数的区别;
成员函数是类的一个成员,指针变量的类型必须与赋值号右侧的函数类型相匹配
1、函数参数的类型韩参数个数;
2、函数返回值的类型
3、所属的类
综上所述定义对象成员函数的具体方法是
void (TIme:: *p2)(); //定义p2为指向time类中公有成员函数的指针变量
(Time:: *p2)
两侧的括号不能省略,因为()的优先级高于*
定义成员函数的指针变量的一般形式为;
数据类型名(类名:: *指针变量名)(参数列表);
可以让他指向一个公有成员函数,把成员函数的入口给他就可以了
比如:
p2 = &Time:: get_time;
使指针变量指向一个公有成员函数的一般形式为
指针变量名 = &类名::成员函数名;
其实总结起来就是,在每个成员函数的前面加上类就可以啦!!!也就这点不同!!
分享到:
相关推荐
C/C++ 函数指针的意义,函数指针的用法
//用对象指针调用指向类成员函数指针pfun指向的函数 } 以上程序定义了好几个指针,虽然它们都是指针,但是所指向的对象是不同的。p是指向类的对象;pc是指向类的数据成员;pfun是指向类的成员函数。因此它们的值...
c++数组指针函数等关键内容讲解 c++数组指针函数等关键内容讲解 c++数组指针函数等关键内容讲解
里面包含: 普通函数指针,同一个类函数指针,不同类的函数指针的使用。
C#调用C++DLL,C++DLL中的函数参数包含指针。 绝对可用。
c++的指针特性学习之函数指针,代码中给出了函数指针的声明方式和使用方式,供大家使用函数指针参考
1.普通函数指针指向普通函数 2.普通函数指向非静态成员函数 3. 类外部的 类函数指针 指向普通函数 4. 类外部的 类函数指针 指向成员函数 5. 类内部的 函数指针 指向成员函数 (类似于第2条) 6. 类内部的 函数指针 ...
c++空对象指针也可调用方法.rar
指针 不仅可以只想变量 常量 数组 还可以指向函数 。 本资源利用函数指针调用 求和函数
对象的函数指针对象的函数指针对象的函数指针对象的函数指针对象的函数指针对象的函数指针对象的函数指针对象的函数指针对象的函数指针对象的函数指针对象的函数指针对象的函数指针对象的函数指针对象的函数指针对象...
c++中的函数指针介绍,c++入门知识,详细的介绍了函数指针的定义方法和用法
关于指针函数、函数指针等诸多易混淆一错用的辨析
C++编程语言中函数指针常见用法:函数调用及回调函数中的使用。
里面包含函数和指针概念的详细讲解,北大名师所做。希望能够对学C/C++的同学有所帮助。
定义指向函数的指针,这种指针可以被赋值...
英文的。 C/C++ 函数指针教程 C/C++ 函数指针教程 C/C++ 函数指针教程
指针函数和函数指针是C语言里两个比较绕的概念。但是不仅面试题爱考,实际应用中也比较广泛。很多人因为搞不清这两个概念,干脆就避而远之,我刚接触C语言的时候对这两个概念也比较模糊,特别是当指针函数、函数指针...
c++之指针作为函数参数传递的问题的pdf版本 博客:http://blog.csdn.net/fjb2080 欢迎访问!
C++大学课本,函数指针调用具体使用案例详细讲解
关于函数指针的理解,是C++中的一个知识点 初学者很容易范一些错误。 本文给了一个解释。