www.pudn.com > ANSI_C_OOP.rar > any.c


#include "Object.h"

static int Any_differ (const void * _self, const void * b)
{
	return 0;	/* Any equals anything... */
}

int main ()
{	void * o = new(Object);
	const void * Any =
					new(Class, "Any", Object, sizeOf(o),
						differ, Any_differ,
						0);
	void * a = new(Any);

	puto(Any, stdout);
	puto(o, stdout);
	puto(a, stdout);

	if (differ(o, o) == differ(a, a))
		puts("ok");

	if (differ(o, a) != differ(a, o))
		puts("not commutative");

	delete(o), delete(a);
	delete((void*)Any);

	return 0;
}