C++指针直接调用类成员函数探讨
摘要 本文分析了C++编程中用指针调用“类” 成员函数时出现的问题、原因及后果,讨论了一般函数指针和“类”成员函数指针的不同。得出结论: 任何指向“类”的成员函数指针,由于携带额外的所属对象信息,与一般的函数有根本的不同,不能直接用来进行函数调用。此外,本文给出了几种间接调用类的成员函数的方法。本文所有代码在VC++6.0下编译通过。
关键词 C++编程; 类; 成员函数; 函数指针; 函数调用
在编程工作中常会遇到在一个“类”中通过函数指针调用成员函数的要求,如,当在一个类中使用了C++标准库中的排序函数qsort时,因qsort参数需要一个“比较函数”指针,如果这个“类”使用某个成员函数作“比较函数”,就需要将这个成员函数的指针传给qsort供其调用。本文所讨论的用指针调用 “类”的成员函数包括以下三种情况:
(1).将 “类”的成员函数指针赋予同类型非成员函数指针,如:
例子1
#include <stdlib.h>
typedef void (*Function1)( ); //定义一个函数指针类型。
Function1 f1;
class Test1
{
public:
关键词 C++编程; 类; 成员函数; 函数指针; 函数调用
在编程工作中常会遇到在一个“类”中通过函数指针调用成员函数的要求,如,当在一个类中使用了C++标准库中的排序函数qsort时,因qsort参数需要一个“比较函数”指针,如果这个“类”使用某个成员函数作“比较函数”,就需要将这个成员函数的指针传给qsort供其调用。本文所讨论的用指针调用 “类”的成员函数包括以下三种情况:
(1).将 “类”的成员函数指针赋予同类型非成员函数指针,如:
例子1
#include <stdlib.h>
typedef void (*Function1)( ); //定义一个函数指针类型。
Function1 f1;
class Test1
{
public:
顶(0)
踩(0)
上一篇:怎样使用资源文件
下一篇:利用C++语言设计可扩展线程池
- 最新评论
