#include <iostream>
using namespace std;

void displayName();
void sum(int, int);
int sum2(int, int);

int main()
{
	void (*namePtr) ();
	namePtr = displayName;
	namePtr();	// or   (*namePtr)(); 	

	void (*sumPtr) (int, int);	// pointer to a void function
	sumPtr = sum;
	sumPtr(4, -8); // -4      or 	(*sumPtr)(4, -8);

	int (*sum2Ptr) (int, int);	// pointer to a function that returns an int
	sum2Ptr = sum2;
	cout << sum2Ptr(4, -8) << endl; // -4   or    cout << (*sum2Ptr) (4, -8) << endl; 

	return 0;
}

void displayName()
{
	cout << "John Doe" << endl;
}

void sum(int a, int b)
{
	cout << a + b << endl;
}

int sum2(int a, int b)
{
	return a + b;
}
