⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo_object_pointer_3.cpp

📁 对于一个初涉VC++的人来书
💻 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 + -