zoukankan      html  css  js  c++  java
  • c++中成员以及继承中修饰符的介绍

    include

    using namespace std;
    //////////////////////////////////////////////////////////////////////////
    class A //父类
    {
    private:
    int privatedataA;
    protected:
    int protecteddataA;
    public:
    int publicdataA;
    };

    //////////////////////////////////////////////////////////////////////////
    class B :public A //基类A的派生类B(共有继承)
    {
    public:
    void funct()
    {
    int b;
    b = privatedataA; //error:基类中私有成员在派生类中是不可见的
    b = protecteddataA; //ok:基类的保护成员在派生类中为保护成员
    b = publicdataA; //ok:基类的公共成员在派生类中为公共成员
    }
    };

    //////////////////////////////////////////////////////////////////////////
    class C :private A //基类A的派生类C(私有继承)
    {
    public:
    void funct()
    {
    int c;
    c = privatedataA; //error:基类中私有成员在派生类中是不可见的
    c = protecteddataA; //ok:基类的保护成员在派生类中为私有成员
    c = publicdataA; //ok:基类的公共成员在派生类中为私有成员
    }
    };

    /////////////////////////////////////////////////////////////////////////
    class C1: public C
    {
    public:
    void fun()
    {
    int c1;
    c1 = protecteddataA; //error: 基类中私有成员在派生类中是不可见的
    c1 = publicdataA; //error: 基类中私有成员在派生类中是不可见的
    }
    };

    //////////////////////////////////////////////////////////////////////////
    class D :protected A //基类A的派生类D(保护继承)
    {
    public:
    void funct()
    {
    int d;
    d=privatedataA; //error:基类中私有成员在派生类中是不可见的
    d=protecteddataA; //ok:基类的保护成员在派生类中为保护成员
    d=publicdataA; //ok:基类的公共成员在派生类中为保护成员
    }

    };

    //////////////////////////////////////////////////////////////////////////
    class D1: public D
    {
    public:
    void func()
    {
    int d1;
    d1 = protecteddataA; //ok! 基类的保护成员在派生类中为保护成员
    d1 = publicdataA; //ok! 基类的保护成员在派生类中为保护成员
    }
    };

    //////////////////////////////////////////////////////////////////////////
    int main()
    {
    int a;

    B objB;
    a = objB.privatedataA;   //error:基类中私有成员在派生类中是不可见的,对对象不可见
    a = objB.protecteddataA; //error:基类的保护成员在派生类中为保护成员,对对象不可见
    a = objB.publicdataA;    //ok:基类的公共成员在派生类中为公共成员,对对象可见
    
    C objC;
    a = objC.privatedataA;   //error:基类中私有成员在派生类中是不可见的,对对象不可见
    a = objC.protecteddataA; //error:基类的保护成员在派生类中为私有成员,对对象不可见
    a = objC.publicdataA;    //error:基类的公共成员在派生类中为私有成员,对对象不可见
    
    D objD;
    a = objD.privatedataA;   //error:基类中私有成员在派生类中是不可见的,对对象不可见
    a = objD.protecteddataA; //error:基类的保护成员在派生类中为保护成员,对对象不可见
    a = objD.publicdataA;    //error:基类的公共成员在派生类中为保护成员,对对象不可见
    
    return 0;
    

    }

  • 相关阅读:
    DSP builder安装指南(以9.1为例)
    浅谈FPGA电脑
    Altera 在线资源使用
    Altium Designer 发现的机密——摘自CRAZY BINGO
    dom4j 练习
    java 工程和类等路径汇总
    读取xml文件基于xpath
    简化 XML 读写
    Java GUI 开发专题
    java中路径示例
  • 原文地址:https://www.cnblogs.com/131415-520/p/13258727.html
Copyright © 2011-2022 走看看