試題練習總結(公有 私有 保護)

2021-09-25 14:45:55 字數 1212 閱讀 2980

例題:下面表述中,表達正確的是()

a、公有繼承是基類中的public成員在派生類中仍是public的

b、公有繼承是基類中的private成員在派生類中仍是private的

c、公有繼承是基類中的protected成員在派生類中仍是protected的

d、私有繼承是基類中的public成員在派生類中仍是private的

這個題我當時選的答案是ac,正確答案是acd。下面是本題的解析:

c++中有三大繼承方式,分別是公有(public)繼承、私有(private)繼承和保護性(protected)繼承。訪問許可權:public>protected>private。三種方式的使用特性各不相同:

1、公有(public)繼承。在繼承時要保持基類中的所有成員的屬性不能發生改變,同時基類中的私有(private)成員不能被繼承。派生類中的物件只能訪問基類中的公有(public)成員和保護性(protected)成員,不能訪問基類中的私有(private)成員。派生類中的物件只能訪問基類中的公有(public)成員,不能訪問基類中的私有成員和保護性成員。

2、私有(private)繼承。在使用私有繼承時基類中的所有成員的屬性都會變成私有屬性,並且派生類中的成員只能訪問基類中的公有(public)成員和保護性(protected)成員,不能訪問基類中的私有(private)成員。派生類中的物件不能訪問基類中的任何成員物件。

3、保護性(protected)繼承。在使用保護性繼承時基類中的所有成員的屬性都會變成保護性屬性,同時基類中的私有(private)成員會被隱藏,並且派生類中的成員只能訪問基類中的公有(public)成員和保護性(protected)成員,不能訪問基類中的私有(private)成員。派生類中的物件不能訪問基類中的任何成員物件。

將上述中的三類繼承方式的屬性特點總結一下,彙總如下:

1、不管用哪一種方式,基類的私有(private)成員都不可以被繼承;如果非要在派生類中使用基類的私有(private)成員,有兩種方法可以選擇:(1)新增屬性;(2)使用友元函式。

2、如果是採用公有(public)繼承形式,則基類中除了私有(private)成員外都可以被繼承到派生類中。在基類中是公有(public)成員的在派生類中還是公有(public)成員,在基類中是保護性(protected)成員的在派生類中還是保護性(protected)成員。

3、如果是採用保護性(protected)繼承形式,則基類中除了私有(private)成員外都可以以保護性(protected)形式被繼承到派生類中。

公有 私有和受保護

class base struct public derived public base ok i is protected derived classes can access i int use base2 error j is private struct protect drived pro...

C 私有 保護 公有繼承

一 公有 pulic 繼承 繼承 是類的重要特性。a類繼承b類,我們稱b類為 基類 也稱為 父類 a類則相應地被稱為 派生類 或 子類 a類繼承了b類之後,a類就具有了b類的部分成員。那麼,究竟從基類那兒得到了哪些成員,這由2方面決定,繼承方式,基類成員的訪問許可權 即public private ...

C 繼承 公有,私有,保護

公有繼承 public 私有繼承 private 保護繼承 protected 是常用的三種繼承方式。1.公有繼承 public 公有繼承的特點是基類的公有成員和保護成員作為派生類的成員時,它們都保持原有的狀態,而基類的私有成員仍然是私有的,不能被這個派生類的子類所訪問。2.私有繼承 private...