File:
[parser3project] /
parser3 /
src /
doc /
ClassExample3.dox
Revision
1.4:
download - view:
text,
annotated -
select for diffs -
revision graph
Mon Apr 29 05:59:33 2002 UTC (24 years, 1 month ago) by
paf
Branches:
MAIN
CVS tags:
release_3_1_2,
release_3_1_1,
release_3_1_0,
release_3_0_8,
release_3_0_0007,
release_3_0_0006,
release_3_0_0005,
release_3_0_0004,
release_3_0_0003,
release_3_0_0002,
HEAD
merged from 0001
/** @page ClassExample3 Пример создания класса (методы и поля)
Чтобы создать свой класс, который
- смогут создавать пользователи,
- состоящий и из методов
- и из полей
[таков, например, класс image],
нужно создать простой класс, см. @ref ClassExample1, переопределив Methoded::create_new_value в
@code
class MExample3 : public Methoded {
public: // VStateless_class
Value *create_new_value(Pool& pool) { return new(pool) VExample3(pool); }
@endcode
Этот метод будет вызван при создании пользователем значений этого типа:
@verbatim
$variable[^example3::create[]]
@endverbatim
Здесь VExample3, это класс значения, см. ClassExample2.
Его не нужно регистрировать, поскольку он Methoded::used_directly true.
Однако в нём необходимо объявить
VStateless_class *get_class() { return example_class3; }
где example_class3 это глобальный экземпляр MExample3.
*/
E-mail: