Using Native C++ in C++/CLI
Native C++ is based upon unmanaged code. To use native C++ code within the managed C++/CLI framework, a small modification is required. The following method is one possible approach.
Native class
class NativeClass
{
public:
    void nativeMethod();
};
Native Class Wrapper
#include "NativeClass.h"
public ref class NativeClassWrapper
{
private:
    // Pointer to native class.
    NativeClass* _nativeClass;
public:
    // Constructor.
    NativeClassWrapper()
    {
        _nativeClass = nullptr;
    }
    // Destructor.
    ~NativeClassWrapper()
    {
        delete _nativeClass;
        _nativeClass = 0;
    }
    // Get direct access to the native class.
    NativeClass* getNativeClass()
    {
        return _nativeClass;
    }
    // Access to native class method.
    void managedMethod()
    {
        _nativeClass->nativeMethod();
    }
};
Implementation of Native Class Wrapper
#include "NativeClassWrapper.h"
// Initialise class.
NativeClassWrapper^ nativeClassWrapper = gcnew NativeClassWrapper();
// Call the native method through the wrapper.
nativeClassWrapper->managedMethod();
// Access the native class directly.
NativeClass* nativeClass = nativeClassWrapper->getNativeClass();
nativeClass->nativeMethod();