类成员函数调用

#include <iostream>

using namespace std;

class A
{
public:
	void func1() { cout << "func1\n"; }
	void func2() { cout << "func2\n"; }
	static void func3() { cout << "static func3\n"; }
};

void print() {
	std::cout << "hello world" << std::endl;
}

int main(void) {
// 普通成员函数
	void (A:: * pf)();  // 定义A的成员函数指针
	pf = &A::func1;     // 指针赋值
	A a;
	(a.*pf)();          // 用类的实例来调用函数指针指向的成员函数
	pf = &A::func2;
	(a.*pf)();
	// 静态成员函数
	void (*spf)();      // 静态函数指针定义 ,和普通的函数(非类成员函数)一样
	spf = &A::func3;    // 静态函数指针赋值
	(*spf)();           // 调用
	// 类成员函数调用,隐藏this指针
	std::cout <<"普通成员函数: "<<typeid(&A::func1).name() <<"  "<<typeid(pf).name() << std::endl;
	std::cout <<"静态成员变量: "<<typeid(&A::func3).name() <<"  "<<typeid(spf).name() << std::endl;
	system("pause");
	return 0;

}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值