C++ 02 —— 訪問權限

源碼

// 02AccessControl.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream.h"

class Test
{
//通常,將data member標註成private,外部不能訪問
//private可以省略,class內部默認爲private,但也可以明確寫出,增強程序可讀性
//struct 默認public,class 默認private
private:
    int i;
    int j;
//通常,function member標註成public,及供外部調用的接口
public:
    Test(){}
    void SetI(int ai){i = ai;}
};

//思考1. function member什麼時候會寫成private?
//思考2. 考慮繼承關係,子類可以訪問父類的private成員嗎?如果不行,應該用哪個訪問控制形式?
//思考3. 什麼是friend?


int main(int argc, char* argv[])
{
    printf("Hello World!\n");
    return 0;
}

思考1:function member什麼時候會寫成private?

當只在本類使用的時候

思考2:考慮繼承關係,子類可以訪問父類的private成員嗎?如果不行,應該用哪個訪問控制形式?

不能。protect

思考3:什麼是friend?

友元函數的特點是能夠訪問類中的私有成員的非成員函數。友元是一種定義在類外部的普通函數,但它需要在類體內進行說明,爲了與該類的成員函數加以區別,在說明時前面加以關鍵字friend。友元不具有相互性,只具有單項性。友元不能被繼承。友元不具有傳遞性。

發佈了87 篇原創文章 · 獲贊 13 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章