I’m afraid the answer is “no”.
__ global__ is used for CUDA functions that are invoked by the host and are executed on the device.
Suppose now you create a class with a global member function. Then, if you instantiate the class object on the device, the device will not be able to call the global function since it is only callable from the host. On the other side, the CUDA C Programming Guide says that “Static member functions cannot be global functions”, see
My suggestion is to create a class with objects instantiated on the host and with member functions containing invokations of the kernel functions inside.