类和对象—继承
繼承方式
public、protected、private
屬性權限:
public:類內類外都可以訪問
protected:類內可以訪問,類外訪問不了
private:類內可以訪問,類外訪問不了
自己的理解如下:
可以將A類中的屬性的訪問的領域分為A類、B類(繼承于A)和類外
A類中的屬性A類都可以訪問
B類和類外都可訪問:public
B類和類外都不可訪問:private
B類可以訪問,類外不可訪問:protected
代碼如下:
#include <iostream> using namespace std;class Base{public:int m_A;protected:int m_B;private:int m_C; };class Son1:public Base{ //公共繼承 // m_A = 10; //這種是錯的,這是在定義屬性,子類直接繼承了父類中的 m_A 屬性,不需要再定義。只能訪問 public:void func(){m_A = 10; //public m_B = 20; //protected // m_C = 30; //父類中的 private 屬性子類訪問不到 } };void test01(){Son1 s1;s1.m_A = 10; // s1.m_B = 20; //Son1 中的 m_B為 protected ,類外訪問不到 cout << s1.m_A << endl; } class Son2:protected Base{ //保護繼承 public:void func(){m_A = 10; //protected 類內可以訪問 類外不能訪問 m_B = 20; //protected 類內可以訪問 類外不能訪問 // m_C = 30; //private 類內不能訪問 類外不能訪問 } }; void test02(){Son2 s2;s2.func(); // cout << s2.m_A << endl //Son2類的 m_A 屬性為 protected 類外不可以訪問 }int main(){ // test01();test02();return 0; }總結
- 上一篇: 类和对象—对象特性—静态成员函数
- 下一篇: 成员函数和成员变量分开存储