Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <malloc.h>
- /* クラス */
- typedef struct __Object
- {
- int value;
- int (*get)(struct __Object *);
- void (*set)(struct __Object *, int);
- } Object;
- /* インスタンスメソッド */
- int Object_get(Object *this)
- {
- return this->value;
- }
- void Object_set(Object *this, int value)
- {
- this->value = value;
- return;
- }
- /* コンストラクタ */
- Object *new_Object()
- {
- Object *object;
- object = (Object *)malloc(sizeof(Object));
- object->get = Object_get;
- object->set = Object_set;
- object->value = 0;
- return object;
- }
- /* デストラクタ */
- void delete_Object(Object *object)
- {
- free(object);
- }
- /* メイン関数 */
- int main(int argc, char* argv[], char* envp[])
- {
- Object *object;
- object = new_Object();
- object->set(object, 15);
- printf("%d\n", object->get(object));
- delete_Object(object);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement