搞不懂private的,只知道public,事实上子类可以调用父类的get方法得到吧,不理解啊
private就是不能继承的,可以用get得到是因为get设置为了public。想在子类中使用的话你可以试试用protected
属性一般是private的,就是私有的。提供对应的public方法,子类可以调用父类的get方法得到。
如果是protected的,子类可以访问。
父类私有的变量是不会被子类继承,它们 对 子类来说是 不可见的,无法直接访问; 只有通过 get 方法来间接访问 它的私有变量
不知道你这个问题是否已经解决, 如果还没有解决的话:routine
#include <iostream>
class Apple
{
friend class Banana;
public:
Apple(double input) //constructer
{
m_a = input;
std::cout<<m_a<<std::endl;
}
private:
double m_a;
};
class Banana
{
public:
double test(Apple apl)
{
double b = 1 + apl.m_a;
std::cout<< "b = " << b <<std::endl;
return b;
}
};
int main()
{
Apple littleApple(1.0);
Banana littleBanana;
littleBanana.test(littleApple);
std::cin.get();
}