子类如何继承父类中的private属性呢

搞不懂private的,只知道public,事实上子类可以调用父类的get方法得到吧,不理解啊

img

img

img

img

private就是不能继承的,可以用get得到是因为get设置为了public。想在子类中使用的话你可以试试用protected

属性一般是private的,就是私有的。提供对应的public方法,子类可以调用父类的get方法得到。
如果是protected的,子类可以访问。

父类私有的变量是不会被子类继承,它们 对 子类来说是 不可见的,无法直接访问; 只有通过 get 方法来间接访问 它的私有变量

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: 如何访问类中private变量?中的 只有类中的成员函数和友元类(函数)可以访问类中的private变量!!! 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    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();
    }
    

     


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^