C ++継承された基礎

継承を学ぶ前に、まず見た目に精通していないことがあり、クラスのより多くの理解を持っている必要があり、ここで

大型C ++の本質は、だけでなく、ベース部分からこの導入を困難を継承している場合に継承されます。

継承関係は、おそらくこれです:

 

 

 「父」図クラスで呼び出される基底クラス、親クラスまたはスーパー

 クラスの「子供」と「孫」、より「子供や孫」の数字表示されることがありますが呼び出され、サブクラス

そして、これは構造図と呼ばれる:継承階層

 最初に出て来なければならない継承された経営構造図を書くとき、分析を出てきます。

これらの理論は、まず明確な根拠は、実現しなければなりません

 

より良い私は、同様の継承の例を与えるために、Windowsプラットフォーム上でのWin32ウィンドウを使用するアイデアを理解するために:

(注:Win32プログラミングウィンドウが継承されていないが、継承階層によって分析することができます

 

 

 継承階層では、私たちがしなければならない矢印の方向に注意を払うことで指摘し、>親クラス-サブクラスではなく、親クラス- >サブクラス

継承は、次の基本的な特性があります。

  1.継承親クラスの缶アクセス公共のサブクラスは、保護されたデータメンバーは、しかし、(サブクラスと国民が親クラスのデータメンバへのアクセスを持って変更することができ、保護)プライベートセクションにアクセスすることはできません

  継承されない2. 親クラスのデータにアクセスするためのサブクラスが、親クラスのサブクラスへのアクセス(矢印の上に示されています)

  3.連続ポインタまたは参照は、親クラスのサブクラスに変換するため、切り捨て現象が発生

  4. 继承具有多态性

 

首先解释一下:

 1. 数据截断可以理解为当发生子类的引用或指针转父类时, 子类中独有的数据将会全部丢失

 2. 多态性其实就是在解释上面的第1点, 也就是子类不仅具有父类的数据, 也可以有自己的独有的数据

 

现在尝试编写继承: 

 

class Basic
{
    string myPrivate="Private";
    protected:
        string myProtected="Protected";
    public:
        string myPublic="Public";
};
class Child: public Basic //继承一个类的表示方法
{
    public:
        void getMembers()
        {
            cout<<myPublic<<endl;//Worked
            cout<<myProtected<<endl;//Worked
            cout<<myPrivate<<endl;//Error!
        }
};
int main()
{
    Child child;
    child.getMembers();
    return 0;
}

 

 

 

实践表明, private无法访问.

 

有关继承的基础部分已结束, 请等待更新.

おすすめ

転載: www.cnblogs.com/tweechalice/p/12205737.html