Я привык использовать протоколы Objective C в своем коде; они невероятны для большого количества вещей. Однако в C++ я не уверен, как выполнить то же самое. Вот пример:
В Obj-C это достаточно просто, но я не могу выяснить, как сделать это в C++. Это даже возможно?
В принципе, вместо "протокола" думайте о "базовом классе с чистыми виртуальными функциями", который в других языках иногда называют интерфейсом.
class Protocol
{
public:
virtual void Foo() = 0;
};
class Class : public Protocol
{
public:
void Foo() { }
};
class Class2 : public Protocol
{
public:
void Foo() { }
};
class TableView
{
public:
void setDelegate(Protocol* proto) { }
};