c++成员指针可不可以指向类的私有成员
展开全部
#include <iostream>
using namespace std;
class A
{
int a;//private
public :
int b;//public
void f1 () {cout<<a;}
A (){a=3;b=4;c=&a;}
int* c;//public
};
int main()
{
int A::*p=&A::b;//vaild
p=A::c;//vaild;
p=A::a;//invaild
return 0;
}
结论:私有成员不可被类外成员指针指向,但是类内指针指向的私有成员,可以通过在类外的成员指针来指向他。
using namespace std;
class A
{
int a;//private
public :
int b;//public
void f1 () {cout<<a;}
A (){a=3;b=4;c=&a;}
int* c;//public
};
int main()
{
int A::*p=&A::b;//vaild
p=A::c;//vaild;
p=A::a;//invaild
return 0;
}
结论:私有成员不可被类外成员指针指向,但是类内指针指向的私有成员,可以通过在类外的成员指针来指向他。
展开全部
当然可以,但既然都是成员,为什么还需要指针访问?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
除了类本身和友元类别的应该不可以了吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-11-06
展开全部
我怎么知道!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询