Страница 1 из 1

Re: переопределение функции

Добавлено: 29 апр 2004, 16:51
DeeJayC
[quote="LGL"]ситуация такая:

class MyClass
{
AnsiString name]

class MyClass
{
AnsiString name;
virtual AnsiString MyFunction();
MyClass* next;
};

----------

class c2 : public MyClass {
};

AnsiString c2 :: MyFunction() {
return "ХЗЧ";
};
--------------------

Добавлено: 29 апр 2004, 20:20
Romeo
Можно сделать так, как предоложил ДиДжей, но тогда придётся создавать столько разных классов-наследников, сколько нужно иметь разных виртуальных методов. Есть другой вариант. Класс должен хранить указатель на функцию, которая будет устанавливаться кем-то снаружи. Этой функции будет передаваться указатель на класс. Таким образом проблему множества классов сведём к проблеме множества функций.

P.S. Это всё теоретические рассуждения. А если посмотреть с логической точки зрения - то всё это приличный изврат. Я считаю, что проблема надумана и можно всё сделать намного проще.

Добавлено: 09 июл 2004, 16:28
Sulik
Моё мнение что предложение Ромео изящнее ДиДжейского, и при правильно реализации будет красиво работать. Но всё таки зачем это надо??? Может обойтись конструкцией switch-case, добавивь исчо одно поле в класс???