Wskaźniki do klas

1

Mam pewien problem.

 
class clasa
{
	public:
	int a,b,c;
	clasa(int A,int B,int C):a(A),b(B),c(C)
	{
	}
	void pisz(int clasa::*x)
	{
		cout<<this->*x<<endl;
	}
	void pisz1(int clasa::*x)
	{
		cout<<this->*x+1<<endl;
	}
	void pisz2(int clasa::*x)
	{
		cout<<this->*x+2<<endl;
	}
	void funkcja(int ktora,void (clasa::*wsk)(int clasa::*wskaznik));
};
void clasa::funkcja(int ktora, void (clasa::*wsk)(int clasa::*wskaznik))
{
	if(ktora==1)
	{
		//(this->*wsk)(this->a);             ///////////////Tu nie wiem jak odnieść się do składnika a///////////////////
	}
	else if(ktora==2)
	{
		//(this->*wsk)(this->b);            //////////////////up///////////////////
	}
	else
	{
		//(this->*wsk)(this->c);             ///////////////up///////////////////
	}

}
main()
{
	clasa obiekt(1,2,3);
	obiekt.funkcja(2,&clasa::pisz);
}

Jak odnieść się do składników tych funkcji?
Błąd który wyskakuje
error: cannot convert 'int' to 'int clasa::*' in argument passing|

1
#include <iostream>

using namespace std;

class clasa
{
        public:
        int a,b,c;
        clasa(int A,int B,int C):a(A),b(B),c(C)
        {
        }
        void pisz(int clasa::*x)
        {
                cout<< this->*x <<endl;
        }
        void pisz1(int clasa::*x)
        {
                cout<<this->*x+1<<endl;
        }
        void pisz2(int clasa::*x)
        {
                cout<<this->*x+2<<endl;
        }
        void funkcja(int ktora,void (clasa::*wsk)(int clasa::*wskaznik));
};
void clasa::funkcja(int ktora, void (clasa::*wsk)(int clasa::*wskaznik))
{
        if(ktora==1)
        {
                (this->*wsk)(&clasa::a);             ///////////////Tu nie wiem jak odnieść się do składnika a///////////////////
        }
        else if(ktora==2)
        {
                (this->*wsk)(&clasa::a);           //////////////////up///////////////////
        }
        else
        {
                (this->*wsk)(&clasa::a);            ///////////////up///////////////////
        }

}
int main()
{
        clasa obiekt(1,2,3);
        obiekt.funkcja(2,&clasa::pisz);
        return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1