class::*p和class*p有什么区别?
class sage
{
public:
int a,b;
void ss()
{
cout<<a<<endl<<b<<endl;
}
}
void main()
{
1. sage* p;
2.int sage::*p这2个有什么区别?
如果是int sage::*p;
我这么写:p=&sage::a;
*p=100;这样写就报错了,是为什么呢?
}
小弟新手谢谢帮助。
[解决办法]
sage*p;普通的类指针
int sage::*p; 类成员指针。
至于类成员指针怎么使用那么google"类成员指针"
[解决办法]
#include <iostream>using namespace std;class sage{public: int a,b; void ss() { cout<<a<<endl<<b<<endl; }};int main(){ sage s; int (sage::*p) = &sage::a; s.*p = 10; s.ss(); return 0;}