Как вызвать метод класса, если в нём есть нужный метод для вызова в C++?
есть следующее:
class A{
void callAnotherClass(...){...}
...
};
Как сделать так чтобы, если в любом другом классе был определён метод, к примеру, с названием "beCalled", то в метод класса A "callAnotherClass" можно было бы передать экземпляр класса с реализованным методом "beCalled" и вызвать этот "beCalled" метод?
Хочу сделать что-то похожее на функцию "std::cout <<", для использования которой с не стандартными типами нужно переопределить оператор <<.
Ответы (1 шт):
Автор решения: llollcat
→ Ссылка
Спасибо за решение @user7860670. Следующий код делает то, что я и хотел:
#include "iostream"
class A {
public:
template<typename x_Object>
void callAnotherClass(x_Object &obj) {
obj.beCalled();
}
};
class B{
public:
void beCalled() {
std::cout <<"Called";
}
};
int main() {
A a =A();
B b = B();
a.callAnotherClass(b);
return 0;
}