[C] C언어로 객체지향 흉내내기

출처 - 윤성우 열혈 C++ 프로그래밍
#include <stdio.h>

typedef struct _Data
{
	int data;
	void (*ShowData)(const struct _Data *);
	void (*Add)(struct _Data *, int);
}Data;

void ShowData(const Data *THIS);
void Add(Data *THIS, int num);

int main()
{
	Data obj1 = {15, ShowData, Add};
	Data obj2 = {7, ShowData, Add};

	obj1.Add(&obj1, 17);
	obj2.Add(&obj2, 9);

	obj1.ShowData(&obj1);
	obj2.ShowData(&obj2);

	return 0;
}

void ShowData(const Data *THIS)
{
	printf("Data : %d\n", THIS->data);
}

void Add(Data *THIS, int num)
{
	THIS->data += num;
}

댓글

이 블로그의 인기 게시물

WOL(Wake On Lan) 기능 사용

[NSIS] 사설 인증서 등록