Example MATLAB class wrapper for a C++ class

An example of how to safely encapsulate a C++ class in a MATLAB class, via a mex interface.


Updated 8 Feb 2018

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

This package provides an example of how to wrap a C++ class in a MATLAB class, via a mex interface, safely, without memory leaks, whilst achieving an interface in MATLAB that is similar to the underlying C++ interface.
After downloading, call:
>> run_example
in MATLAB to see an example implementation in action.

Look in run_example.m, example_mex.cpp (and optionally example_interface.m if you don't want to use the standard interface) to see how this is implemented, and copy the structure to interface with your own C++ classes.

This submission is inspired by the following newsgroup thread:
Thanks to all those who have contributed.

Cite As

Oliver Woodford (2023). Example MATLAB class wrapper for a C++ class (https://www.mathworks.com/matlabcentral/fileexchange/38964-example-matlab-class-wrapper-for-a-c-class), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Added a standard interface to avoid needing an interface class per mex wrapper. Also added an example script.

Add #includes suggested by Richard Crozier (thanks) to fix compilation in Linux.

2nd attempt to fix compilation under linux.

Fix compile error in Linux - thanks to Andreas for highlighting the issue.