C++_类成员变量指针
1C++_类成员变量指针.cpp
#include<iostream>
using namespace std;
struct A{
int m=10;
int n=9;
};
//类的成员变量指针,只能指向该类的成员变量,不会超出范围,这样做可以减小程序员纠错的范围,提高代码的维护性
int main()
{
A a;
int k=100;
int * pm = &a.m;
cout<<*pm<<endl;
pm = &k;
int A::* p = &A::m;
cout<<a.*p<<endl;
p = &A::n;
//err: p = &k;
cout<<a.*p<<endl;
return 0;
}
02_类成员函数指针.cpp
#include<iostream>
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)()<<endl;
return 0;
}