C++基础:理解数据成员和成员函数指针

需积分: 14 4 下载量 47 浏览量 更新于2024-07-10 收藏 2.55MB PPT 举报
本课件主要讲解C++编程中的关键概念——指向类的数据成员和成员函数的指针变量。在面向对象编程中,这种技术用于间接访问和操作对象的属性和行为。 首先,我们来看指向数据成员的指针变量。其基本格式是 `类型名 类名::*指针名;`,例如,在给出的示例中,`int A::*pc=&A::c;` 定义了一个指针变量 `pc`,它指向类 `A` 的成员变量 `c`。通过 `ob.*pc=8;` 这样的表达式,可以直接操作对象 `ob` 的 `c` 成员,将其值设置为 8。 其次,指向成员函数的指针变量则用于间接调用类的方法。其格式为 `返回值类型 (类名::*指针名)(参数表)`,比如 `int (A::*pfun)(int)=A::fun;` 定义了一个指针变量 `pfun`,它指向类 `A` 的成员函数 `fun`,该函数接受一个整数参数并返回一个整数。可以通过 `(ob.*pfun)(5);` 调用 `fun` 方法,传入参数 5。 在实际应用中,使用指针可以实现运行时动态绑定,即在程序运行时根据指针指向的对象实例来确定调用的具体方法。另外,还可以通过 `A *p=&ob;` 创建指向对象 `ob` 的指针 `p`,然后使用 `p->*pc=8;` 和 `(p->*pfun)(5);` 来间接访问和调用成员。 课程推荐的参考资料包括经典的C++编程书籍如《Thinking in C++》、Bjarne Stroustrup的《C++ Programming Language》以及一些实用教程。这些教材有助于深入理解面向对象编程和指针的概念,同时提供了实践练习的机会。 本课件涵盖了C++中的重要概念,即如何通过指针操作类的内部结构和行为,这对于理解和编写高效、灵活的C++代码至关重要。理解并掌握这类高级特性,将有助于程序员更好地设计和实现复杂的软件系统。