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: