读书人

class:p和class*p有什么区别?该怎么处

发布时间: 2012-04-28 11:49:53 作者: rapoo

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"类成员指针"
[解决办法]

C/C++ code
#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;} 

读书人网 >C++

热点推荐