Por lo que he visto en tu código, la variable r no tiene razón de ser.
Es una variable que guarda un resultado temporal que no tiene sentido más allá de la función en la que defines su valor. Es decir, si haces una suma, en r guardas el resultado... pero ese resultado no se vuelve a usar para nada... en cuanto hagas otra operación, ese valor se pierde y nadie va a suspirar por el.
En estos casos es mejor reducir su ámbito de uso y declarar variables dentro de las funciones que las necesiten.
Saber declarar cada variable dentro de un ámbito correcto es bastante importante, aunque eso es algo que irás aprendiendo con el tiempo.
Además te faltaría definir el constructor de la clase. ¿ Qué sucede si se te olvida llamar a asignar1 y/o asignar2 antes de realizar alguna operacion? Pruébalo, verás que los resultados serán raros raros. Los constructores te ayudan a evitar ese tipo de problemas.
La declaración que haces del main es un poco rara... es una sintaxis propia del visual studio 12???
Dicho lo dicho, yo dejaría tu código así:
#include "stdafx.h"
#include "iostream"
using namespace System;
using namespace std;
class PROCESOS
{
private:
int a, b;
public:
PROCESOS( )
{
a = 0;
b = 0;
}
void asignar1(int y)
{
a = x;
}
void asignar2(int z)
{
b = y;
}
void suma()
{
int r = a + b;
cout<<"La suma de " <<a <<" y " <<b <<" es " <<r <<"\n";
}
void resta()
{
int r = a - b;
cout<<"La resta de " <<a <<" y " <<b <<" es " <<r <<"\n";
}
void multi()
{
int r = a * b;
cout<<"La multiplicacion de " <<a <<" y " <<b <<" es " <<r <<"\n";
}
void div()
{
if (b != 0)
{
int r = a / b;
cout<<"La divicion de " <<a <<" y " <<b <<" es " <<r <<"\n";
}
else
{
cout<<"ERROR :(" <<"\n";
cout<<"No existe la divicion por " <<b <<"\n";
}
}
};
int main(array<System::String ^> ^args)
{
int j, k;
PROCESOS objFUN;
cout<<"Introduce 2 numeros\n";
cin>>j;
cin>>k;
objFUN.asignar1(j);
objFUN.asignar2(k);
objFUN.suma();
objFUN.resta();
objFUN.multi();
objFUN.div();
system("PAUSE");
return 0;
}