[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 <必須利用父類別的公有函數才可以存取 }
//============================================================
//============================================================
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 <必須利用父類別的公有函數才可以存取 }
//============================================================
//============================================================
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 <必須利用父類別的公有函數才可以存取 }
//============================================================
intmain() {
cout<<"Hello world!"<< endl; return0; }
|