[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;
}

댓글

이 블로그의 인기 게시물

[NSIS] 32비트와 64비트 모듈 등록하는 법. (regsvr32)

[Visual Studio] Windows 7 에서 Visual Studio 6.0 디버그 시 프로세스 좀비되는 증상 해결 방법