📄 demo_object_pointer_3.cpp
字号:
//***************************************************
//指向类的成员的指针
//指向数据成员的指针: <类型说明符><类名>::*<指针名>=&<类名>::<公有数据成员名>;
//指向成员函数的指针: <类型说明符>(<类名>::*<指针名>)(<参数表>)=<类名>::<公有函数成员名>;
//***************************************************
#include <iostream.h>
class Sample
{
public:
Sample(int i) { a=i; }
int fun(int b) { return a*c+b; }
int c;
private:
int a;
};
void main()
{
Sample A(2);
Sample *p=&A; //声明指向类的对象的指针变量并初始化
int Sample::*pc; //声明类数据成员指针变量
pc=&Sample::c; //给类数据成员指针变量赋值
A.*pc=3; //等价于 A.c=3
int (Sample::*pfun)(int); //声明类成员函数指针变量
pfun=Sample::fun; //给类成员函数指针变量赋值
cout<<"(p->*pfun)(4)="<<(p->*pfun)(4)<<endl;
//等价于 A.fun(4)
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -