C 為什麼允許省略訪問說明符?

時間 2021-06-01 20:36:42

1樓:邱昊宇

因為 C++ 起初並沒有 protected,只有 public 和 private。甚至連 private 關鍵字都沒有,那些沒寫 public 的地方就意味著 private:比如成員的訪問說明,繼承基類時的說明。

class

Stack

;這種先寫 private 再寫 public 的風格在當時是「唯一」的寫法(因為沒有 private 關鍵字)。

(以上見 The Design and Evolution of C++)

所以允許這種「省略」,是一種向後相容的策略。

2樓:

限制多了總比少了強

家門預設是關閉的總比預設開著要安全

預設關著,所有人必須守規矩,有鑰匙的才有操作屋裡東西的權利預設開著,有一天忘記主動鎖門,會發生什麼就要看運氣結構體則是為了相容C

3樓:

少打兩個字,延長鍵盤壽命,這就是c++的哲學,在標準庫中處處有體現。

按照作用欲來講,預設當然是區域性訪問,不是全域性訪問了呀,要不然你讓大括號怎麼想?

4樓:

設計很重要的一條原則是,要讓使用者更難犯錯

從這個角度上去看,好處就很明顯了, 預設private的好處是相對而言更難出錯 -- 乙個private member被誤設成public member,編譯器是很難判斷的。 反之則不然。

為什麼C 繼承過程中使用訪問說明符和虛函式?

首先,繼承過程中使用訪問說明符主要是為了控制繼承下來的成員的訪問性,比如對類A classA 使用不同的繼承方式,對應的成員訪問性如下 classB publicA classC protectedA classD privateA 至於private 繼承 在 B 類裡面,this 還是可以轉成 ...

為什麼法語 德語不允許或不鼓勵省略主語,而西班牙語 義大利語則可以?

Jerry 主要是動詞是否能準確單一對應主語人稱代詞的含義。意語和西語詞尾一種變位只對應一種人稱,而且口語中可區分,所以大部分情況如果不需要強調主語或者平常說話時候要補一些音的時候是沒有太大必要說出人生代詞主語的。說兩個例子,義大利語裡面第一人稱單數io和第三人稱複數loro動詞essere 相當於...

點點網訪問量,PV 都在下降,這說明什麼?

leegang 說明靠電影票和哈根達斯通過傳銷式的方式拉人頭雖然可以帶來短期內人氣的虛高,但是不長久 說明只要巨頭不打盹,在C2C Copy To China 領域,創業公司很難幹過巨頭 徐韜 輕部落格玩的只是概念,實際價值我認為並不大,看似綜合了微博和部落格的優點,但其實不倫不類,剛開始的新鮮感過...