Вам нужно будет реализовать чисто виртуальный метод в Component
; скажем, componentMethod()
:
virtual void componentMethod() = 0;
Это сделает Component
абстрактным классом и, следовательно, нереализуемым.
Тогда в chiComponent
вы можете иметь:
virtual void componentMethod() {
chiComponentMethod();
}
В качестве альтернативы, вы можете просто переименовать chiComponentMethod
в componentMethod
и поместить туда реализацию напрямую.
Кроме того, любые дальнейшие реализации Component
могут реализовывать свои собственные функции.
Кроме того, я считаю, что
com = new chiComponent();
должно быть
*com = new chiComponent();
, поскольку com
является Component *
.