
#include "a.h"

// A managed class, which creates an unmanaged object
ref class AMaker
{
public:
	AMaker() {}
	A * MakeA()
	{
		A* a = new A;
		a->value = 15613223; // test will check for this value
		return a;
	}
};

// A function which uses CLR, exposed (in the header) via the C++ interface
A * FunctionsAsCLR_A()
{
	// use garbage collected new/clr methods
	AMaker^ aMaker = gcnew AMaker;
	return aMaker->MakeA();
}
