https://github.com/GaijinEntertainment/daScript/blob/master/examples/tutorial/tutorial03.cpp#L15 Базовый пример прокидывания C++ класса в daScript. Похоже на другие скриптовые языки, создаётся класс-обёртка (ManagedStructureAnnotation) над типом, которая позволяет привязать и настроить отображение полей и методов структуры на тип в daScript, а также переопределить группу методов, определяющих свойства этого типа в daScript.
Более продвинутые примеры, также можно смотреть код модулей.
Наследование
Отнаследоваться от C++ типа нельзя (ну, или я не нашёл способа сделать такой тип).
Существует возможность передать в daScript связь родитель-потомок между C++-типами (пример), для upcast-приведения типов аргументов функций.
Пример организации связи между С++ и daScript-классами - tutorial04.
В примере связь организуется через класс BaseClassAdapter, который наследуется одновременно от базового C++-класса и сгенерированного по das-коду C++-классу-адаптеру
options remove_unused_symbols = false
//interface C++/daScript
class TutorialBaseClass
def abstractupdate ( dt : float ) : void
defabstract get_position : float3
// uncomment the section to generate C++ bindings for the TutorialBaseClass
// this code will generate tutorial04_gen.inc which contains C++ bindings
TutorialBaseClass - интерфейс между C++/daScript, который используется генератором C++-обёрток log_cpp_class_adapter, на выходе получается примерно такой C++-код: