C++_类成员变量指针

1C++_类成员变量指针.cpp

#include
using namespace std;
struct A{
    int m=10;
    int n=9;
};

//类的成员变量指针,只能指向该类的成员变量,不会超出范围,这样做可以减小程序员纠错的范围,提高代码的维护性

int main()
{
    A a;
    int k=100;
    int * pm = &a.m;
    cout<<*pm<int A::* p = &A::m;
    cout<//err:  p = &k;
    cout<return 0;
}

02_类成员函数指针.cpp

#include
using namespace std;
struct A{
    int m=10;
    int n=9;
    int get_m(){return m;}
};

//类的成员变量指针,只能指向该类的成员变量,不会超出范围,这样做可以减小程序员纠错的范围,提高代码的维护性

int main()
{
    A a;
    int (A::*pget)() = &A::get_m;

    cout<<(a.*pget)()<return 0;
}

你可能感兴趣的:(c++)