Я пытаюсь использовать метод от дочернего класса, который наследует от интерфейса. Вызов этого метода выполняется из класса клиента (основной метод). // интерфейс методC++ с использованием методов дочернего класса класса, который наследует интерфейс
class InterfaceMethod{
virtual void method(void) = 0;
}
Это класс, который является наследование интерфейса:
class ChildClass: public InterfaceMethod
{
public:
ChildClass(){}
~ ChildClass(){}
//virtual method implementation
void method(void)
{
//do stuff
}
//and this is the method that i want to use!
//a method declared in the child class
void anotherMethod()
{
//Do another stuff
}
private:
}
Это клиент:
int main()
{
InterfaceMethod * aClient= new ChildClass;
//tryng to access the child method
(ChildClass)(*aClient).anotherMethod();//This is nor allowed by the compiler!!!
}
Возможно, это плохая идея - если вы хотите иметь возможность вызвать метод через интерфейс, вы должны добавить его в интерфейс. – doctorlove