C++类成员指针

C++类成员指针
        class CTest
        {
        public:
                CTest() {}
                ~CTest() {}

                int GetValue( void );

                int m_int;
        }

        CTest ct;
        CTest *pct = new CTest;

        C++类成员对象指针(事例使用上面的类)

        类型 类名::*      如下
        int CTest::*;
        typedef int CTest::* Member_Ptr;

        赋值  Member_Ptr ptr = &CTest::m_int;
        取值 int i = ct.*ptr 或 pct->*ctr;

        C++类成员函数指针(事例使用上面的类)

        类型 (类名::*)( 参数列表 )     如下
        int (CTest::*)( void );
        typedef int (CTest::*Member_Fun_Ptr)( void );

        赋值  Member_Fun_Ptr fun_ptr = &CTest::GetValue;
        使用  int i = ct.*fun_ptr(); 或 pct->*fun_ptr();

        C++类成员函数还有引用,可是成员对象没有引用
        int (CTest::&)( void );
        typedef int (CTest::&Member_Fun_Ref)( void );

你可能感兴趣的:(C++类成员指针)