源碼
// 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。友元不具有相互性,只具有單項性。友元不能被繼承。友元不具有傳遞性。