65,210
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
class A
{
friend class B;
protected int x=123;
public:
int getX() const;
};
int main(int argc, char *argv[])
{
//这里要怎么访问这个X 通过class A的成员函数
//1.这里可以调用getX()
}
若下面再定义一个类
class B
{
//这里面又要怎么样访问x呢
//2.如class A中所示把B定义为A的友元类 这样就可以访问了 或者3.让B继承A
}
#include <stdio.h>
class A
{
protected int x=123;
};
int main(int argc, char *argv[])
{
这里要怎么访问这个X //没有访问能力,因为main不是友元函数
}
若下面再定义一个类
class B //所以,把B定义为A的友元,或者,B继承A,即可访问.
{
这里面又要怎么样访问x呢
}
class A
{
public:
static int getValue(){return x};
protected:
int x=123;
};
int main(int argc, char *argv[])
{
int tmp = A::getValue();//假设变量x初始化过
}
class B : public A
{
//怎么用都行,跟自己成员一样,但是继承后x的属性,要根据继承方式来定,
//上面我用的public继承,所以这里x仍然是保护的
//所以在类外的访问方式跟第一种是一样的
}