|
|
| version 1.1, 2001/05/04 11:08:04 | version 1.2, 2001/05/07 13:29:54 |
|---|---|
| Line 1 | Line 1 |
| /** @page ClassExample2 рТЙНЕТ УПЪДБОЙС ЛМБУУБ (НЕФПДЩ Й РПМС) | /** @page ClassExample3 Пример создания класса (методы и поля) |
| юФПВЩ УПЪДБФШ УЧПК ЛМБУУ, УПУФПСЭЙК ОЕ ФПМШЛП ЙЪ НЕФПДПЧ[ФБЛПЧ, ОБРТЙНЕТ, ЛМБУУ image], | Чтобы создать свой класс, который |
| ОХЦОП УПЪДБФШ РТПУФПК ЛМБУУ(УН. @ref ClassExample1), ПРТЕДЕМСАЭЙК Methoded::used_directly Ч false. | - смогут создавать пользователи, |
| - состоящий и из методов | |
| - и из полей | |
| [таков, например, класс image], | |
| нужно создать простой класс, см. @ref ClassExample1, переопределив Methoded::create_new_value в | |
| рПУМЕ ЮЕЗП УПЪДБФШ РПФПНЛБ Value, Ч ЛПФПТПН РЕТЕПРТЕДЕМЙФШ Value::get_element Й/ЙМЙ Value::put_element, | @code |
| Ч ЛПОУФТХЛФПТЕ ЛПФПТПЗП РТЙ ЧЩЪПЧЕ ВБЪПЧПЗП ЛПОУФТХЛФПТБ | class MExample3 : public Methoded { |
| public: // VStateless_class | |
| Value *create_new_value(Pool& pool) { return new(pool) VExample3(pool); } | |
| @endcode | |
| @test 3 | Этот метод будет вызван при создании пользователем значений этого типа: |
| @verbatim | |
| $variable[^example3:create[]] | |
| @endverbatim | |
| Здесь VExample3, это класс значения, см. ClassExample2. | |
| Его не нужно регистрировать, поскольку он Methoded::used_directly true. | |
| */ | */ |