All pastes #411805 Raw Edit

Something

public text v1 · immutable
#411805 ·published 2007-03-27 08:33 UTC
rendered paste body
class MyClass
{
	int m_x;
public:

	MyClass( int x ) { m_x = x; }

	void Method( )
	{
		char arr[100];
		wsprintfA( (LPSTR) &arr, "lol %d", m_x );
		MessageBoxA( NULL, arr, "teehee", MB_OK );
	}
};

DWORD WINAPI wrapperMethod( LPVOID lpParam )
{
	MyClass *myClass = ( MyClass* ) lpParam;
	if ( myClass != NULL )
		myClass->Method( );
	return 0;
}

int main( int argc, char **argv )
{
	int x=0;
	MyClass classy(12);
	MyClass classy2(45);

	// Here we instantiate two seperate instantiations of the class' Method function... but in a round about way.
	// We really instantiate two thread of the wrapper method which then dereferences the class we pass in the LPVOID parameter. Fugly.
	CreateThread( NULL, 0, &wrapperMethod, &classy, 0, NULL );
	CreateThread( NULL, 0, &wrapperMethod, &classy2, 0, NULL );

	// Infinite loop to let the threads execute.
	while ( true )
	{
		x++;
	}
	return 0;
}