C++ classes have a corresponding CLOS class. The can be used like any CLOS class; E.g:
to make a QObject instance:
(make-instance 'qt:object)
Supply arguments as list to the :args keyword:
(let ((parent (make-instance 'qt:object))) (make-instance 'qt:object:args (list parent)))
or use :arg0, :arg1 and :arg2.
(let ((parent (make-instance 'qt:object))) (make-instance 'qt:object:arg0 parent))
To extend a C++ class you have to use cxx:class as metaclass:
(defclass my-object (qt:object) () (:metaclasscxx:class)) (make-instance 'my-object)
The first superclass must be a Smoke class. When you define a class that has several Smoke superclasses,
they will be constructed with their default constructor. For the first Smoke superclass you can supply arguments
with the :args and :arg0 etc. keywords.
(defclass my-graphics-object (qt:objectqt:graphics-item) () (:metaclasscxx:class))