2013年7月6日 星期六

[C/C++基礎] C++繼承狀態表

[C/C++基礎]  C++繼承狀態表



本篇要分享-C++繼承狀態表,有興趣的(C/P)同好,歡迎來(C/P)一下哈哈 ^ ^


C++繼承狀態表




































           繼承


原本



Public



Protected



Private



Public



子類的公有



子類的保護



子類的私有



Protected



子類的保護



子類的保護



子類的私有



Private



要用父類別存取



要用父類別存取



要用父類別存取



Ps



公有:可直接存取



私有:用公有存取



保護:用公有存取



 


個人習慣把父類別變數如下表分類


















Input



Public



Output



Protected



Other



Private



測試程式碼如下









#include <iostream>

 

usingnamespacestd;

class parent

{

    public:

        parent();

        int m_a;

    protected:

        int m_b;

    private:

        int m_c;

};

parent::parent()

{

    m_a=0;

    m_b=0;

    m_c=0;

}

//============================================================

class public_son :public parent

{

    public:

        public_son();

        void setvalue(int,int,int);

        void showvalue();

};

public_son::public_son():parent()

{

 

}

void public_son::setvalue(int a,int b,int c)

{

    m_a=a;

    m_b=b;

    //m_c=c;//必須利用父類別的公有函數才可��

 

}

void public_son::showvalue()

{

    cout<<"m_a="<<m_a<<endl;

    cout<<"m_b="<<m_b<<endl;

    //cout <<"m_c="<<m_c<<endl;//必須利用父類別的公有函數才可以存取

}

//============================================================

//============================================================

class protected_son :protected parent

{

    public:

        protected_son();

        void setvalue(int,int,int);

        void showvalue();

};

protected_son::protected_son():parent()

{

 

}

void protected_son::setvalue(int a,int b,int c)

{

    m_a=a;

    m_b=b;

    //m_c=c;//必須利用父類別的公有函數才可以存取

 

}

void protected_son::showvalue()

{

    cout<<"m_a="<<m_a<<endl;

    cout<<"m_b="<<m_b<<endl;

    //cout <<"m_c="<<m_c<<endl;//必須利用父類別的公有函數才可以存取

}

//============================================================

//============================================================

class private_son :private parent

{

    public:

        private_son();

        void setvalue(int,int,int);

        void showvalue();

};

private_son::private_son():parent()

{

 

}

void private_son::setvalue(int a,int b,int c)

{

    m_a=a;

    m_b=b;

    //m_c=c;//必須利用父類別的公有函數才可以存取

 

}

void private_son::showvalue()

{

    cout<<"m_a="<<m_a<<endl;

    cout<<"m_b="<<m_b<<endl;

    //cout <<"m_c="<<m_c<<endl;//必須利用父類別的公有函數才可以存取

}

//============================================================

intmain()

{

    cout<<"Hello world!"<< endl;

    return0;

}

 



 


沒有留言:

張貼留言