Страница 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, добавивь исчо одно поле в класс???