在C++中,對struct升級為class,多了private public protected三個關鍵字。
雖然知道了這三個關鍵字的用法,但我還是無法深刻理解。
求助大神
舉出一個實體,幫助我理解一下。
謝謝 !!
uj5u.com熱心網友回復:
private 只能自己這種型別訪問proteced 自己和繼承自己的類讀可以訪問
public 誰特么都可以訪問。
uj5u.com熱心網友回復:
例子很簡單,把注釋的地方去掉就會出編譯錯誤class AA
{
private:
int p1 = 1;
protected:
int p2 = 2;
public:
int p3 = 3;
virtual void test() {
printf("%d\n", p1); //private只有自己可以訪問
printf("%d\n", p2); //可以訪問
printf("%d\n", p3); //可以訪問
};
};
class AB:AA
{
virtual void test() {
//printf("%d\n", p1);//這里就編譯出錯,說明不能父類的private
printf("%d\n", p2); //這里不會編譯錯誤,說明可以訪問父類的protected
printf("%d\n", p3); //這里不會編譯錯誤,說明可以訪問父類的public
}
};
int main(int argc, const char * argv[]) {
AA a;
//printf("%d\n", a.p1);//這里就編譯出錯,說明不能父類的private
//printf("%d\n", a.p2);//這里就編譯出錯,說明不能父類的protected
printf("%d\n", a.p3);//這里不會編譯錯誤,說明可以訪問父類的public
return 0;
}
uj5u.com熱心網友回復:
@qybao首先,謝謝你回答我的問題
其次
其實這個我懂,就是不知道在實際應用中有什么具體的作用
一般例題的例子都太小,資料量不夠,說明不了問題
能不能舉一個大一點的且生動的例子說明一下
uj5u.com熱心網友回復:
@qybao首先,謝謝你回答我的問題
其次
其實這個我懂,就是不知道在實際應用中有什么具體的作用
一般例題的例子都太小,資料量不夠,說明不了問題
能不能舉一個大一點的且生動的例子說明一下
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/132798.html
標籤:C++ 語言
上一篇:應屆畢業生找作業
下一篇:c++呼叫python出錯
