Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
template class Delegate
{
private:
struct T { };
typedef void (T::*PMETHOD) (TArg);
protected:
T* m_pObject;
PMETHOD m_pMethod;
public:
Delegate();
template Delegate(TClass* pObject, void (TClass::*pMethod) (TArg));
Delegate(const Delegate& delegate);
~Delegate();
Delegate& operator = (const Delegate& delegate);
bool operator == (const Delegate& delegate);
bool operator != (const Delegate& delegate);
void operator () (TArg arg);
void Invoke(TArg arg);
bool IsNullOrEmpty();
};
Чего уж такого ужасного, не понятно.
>Честно тебе скажу, второй твой пример с ООП не имеет ничего общего, как впрочем и первый
Смысл был не в том, чтобы писать какую-то навороченную архитектуру, а в том, что показать как эти архитектуры применяются для решения простых задач:
str = new StringTokenizer(in.readLine());
int a = Integer.parseInt(str.nextToken());
Слишком сурово и расточительно для элементарных задач плодить объекты классов, лишь только для того, чтобы они были, т.е. не стоит плодить лишних сущностей там, где их не должно быть.«я не осилил Qt»
Почему C++ не подходит для написания графических пользовательских интерфейсов