C++ public、protected、private区别
生活随笔
收集整理的這篇文章主要介紹了
C++ public、protected、private区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2018-02-09 創(chuàng)建人:Ruo_Xiao
郵箱:xclsoftware@163.com
public
其成員是類與類外的接口,其對象可以訪問。 protected
只能是類內(nèi)(自己)以及派生類(子女)可以使用。 private
只能是該類私有財產(chǎn),子女不可享用。 源碼
#include <iostream>
using namespace std;//基類
class GrandFather
{
public:GrandFather(){}~GrandFather(){}
public:int GF1;
//無論是public、protected還是private都可以
//在類內(nèi)進行訪問void play_G(){GF1 = 4; GF2 = 5;GF3 = 6;}
protected:int GF2;
private:int GF3;
};
//派生類
class Father1 : public GrandFather
{
public:Father1(){}~Father1(){}
public:int F1_1;void play_F1(){GF1 = 7;//派生類可以訪問基類的protected成員GF2 = 8;//派生類不可訪問基類的private成員//GF3 = 9; }
protected:int F1_2;
private:int F1_3;
};int main()
{GrandFather G;G.GF1 = 1;//G.GF2 = 2; //類外無法訪問protected成員//G.GF3 = 3; //類外無法訪問private成員Father1 F1;F1.GF1 = 7;//F1.GF2 = 8; //類外無法訪問protected成員//F1.GF3 = 9; //類外無法訪問private成員cin.get();return 0;
}
一、封裝
其成員是類與類外的接口,其對象可以訪問。
只能是類內(nèi)(自己)以及派生類(子女)可以使用。
只能是該類私有財產(chǎn),子女不可享用。
二、繼承
有public, protected, private三種繼承方式,它們相應地改變了基類成員的訪問屬性。
1、public繼承:基類public成員,protected成員,private成員的訪問屬性在派生類中分別變成:public, protected, private。
2、protected繼承:基類public成員,protected成員,private成員的訪問屬性在派生類中分別變成:protected, protected, private。
3、private繼承:基類public成員,protected成員,private成員的訪問屬性在派生類中分別變成:private, private, private。
總結
以上是生活随笔為你收集整理的C++ public、protected、private区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 虚基类和抽象类关系
- 下一篇: linux下使用make指令生成程序时提