c++访问类成员操作符

c++访问类成员操作符

#include <iostream>

using namespace std;

class Operator
{
public:
	Operator()
	{


	}
	~Operator()
	{

	}

	int add(int a, int b)
	{
		return a + b;
	}

	int sub(int a, int b)
	{
		return a - b;
	}
};

//访问类成员操作符4种

int main(int argc, char *argv[])
{
	//1. 对象用点 xx.xx()
	Operator op1;
	op1.add(10, 20);

	//2. 指针用-> xx->()
	Operator* op2 = new Operator;
	op2->add(10, 20);

	//3. 点星作为整体使用
	int(Operator::*oAdd)(int, int) = &Operator::add;
	(op1.*oAdd)(10, 20);
	//cout << typeid(op1.add).name() << endl;

	//4. 箭头星作为整体使用
	(op2->*oAdd)(10, 20);

	//访问类成员函数指针, 指针使用->*  对象使用.*

	cin.get();
	return 0;
}
秋风 2018-03-17