Anything you can do in VBA is also possible in an add-in.
Using Tools/References in VBA you can only add references to type libraries or exectutable files containing a type library.
Regarding C++ DLLs: Depending on the calling convention, it is possible to import functions (no classes) from C or C++ DLLs.
For instance to import the GetLocaleInfo function from kernel32.dll you have to declare this (see the exampel Importfilter.FPD):
Private Declare Function GetLocaleInfo Lib "kernel32" Alias _
"GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As _
Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Please take a look at the VBA help for the declare keyword for more information.