Мне нужно реализовать два интерфейса, GLView
и MetalView
:
GLView
- это подкласс NSOpenGLView
(то есть, в свою очередь, подкласс NSView
).
MetalView
является прямым подклассом NSView
.
Большая часть реализации разделена между GLView
и MetalView
, и я, очевидно, не хочу копировать-вставлять это.
В c ++ у меня был бы класс шаблона BaseViewImpl
, который бы принимал параметр шаблона BaseView
, и я бы использовал BaseViewImpl<NSOpenGLView>
в качестве базового класса для GLView
и BaseViewImpl<NSView>
в качестве базы для
MetalView
.
Как мне достичь того же в цели c?