[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; }
|
沒有留言:
張貼留言