1. 程式人生 > >c++公有繼承、保護繼承和私有繼承

c++公有繼承、保護繼承和私有繼承

C++中的繼承方式有:
public、private、protected三種(它們直接影響到派生類的成員、及其物件對基類成員訪問的規則)。
(1)public(公有繼承):繼承時保持基類中各成員屬性不變,並且基類中private成員被隱藏。派生類的成員只能訪問基類中的public/protected成員,而不能訪問private成員;派生類的物件只能訪問基類中的public成員。
(2)private(私有繼承):繼承時基類中各成員屬性均變為private,並且基類中private成員被隱藏。派生類的成員也只能訪問基類中的public/protected成員,而不能訪問private成員;派生類的物件不能訪問基類中的任何的成員。 

(3)protected(保護性繼承):繼承時基類中各成員屬性均變為protected,並且基類中private成員被隱藏。派生類的成員只能訪問基類中的public/protected成員,而不能訪問private成員;派生類的物件不能訪問基類中的任何的成員。

相關推薦

[51CTO]什麼是公有聯盟鏈私有鏈?

什麼是公有鏈、聯盟鏈和私有鏈? http://blockchain.51cto.com/art/201812/588917.htm 關注區塊鏈的你,想必聽說過區塊鏈可以分成公有鏈、聯盟鏈、私有鏈三類。那它們都有什麼區別和特點呢? 公有鏈、聯盟鏈和私有鏈它們本質的

c++公有繼承保護繼承私有繼承

C++中的繼承方式有:public、private、protected三種(它們直接影響到派生類的成員、及其物件對基類成員訪問的規則)。(1)public(公有繼承):繼承時保持基類中各成員屬性不變,並且基類中private成員被隱藏。派生類的成員只能訪問基類中的publi

C++ 公有繼承保護繼承私有繼承的區別

1)基類成員對派生類的可見性 1. 公有繼承(public) :基類的公有成員和保護成員作為派生類的成員時,它們都保持原有的狀態,而基類的私有成員仍然是私有的,不能被這個派生類的子類所訪問。 2. 私有繼承(private) :基類的公有成員和保護成員都作為派生類的私有

C++之共有繼承保護繼承私有繼承

nbsp inf ima int void 不能 stream cout turn 1.封裝,public,private作用就是這個目的。   類外只能訪問public成員而不能方位private成員;   private成員只能被類成員和友元訪問; 2.繼承,prote

關於公有繼承保護繼承私有繼承

假設現在有一個名叫大地主的類,他有下面三個成員:公有成員:一塊空地保護成員:傳家寶私有成員:QQ號所謂公有成員,就是你可以和大地主商量,讓他把空地租給你,對外說的時候,你要說清楚你這個地是大地主的一塊空地,也就是:大地主.一塊空地傳家寶當然是只給其後代(派生類)的,其他人要用

C++】解析共有繼承私有繼承保護繼承區別聯絡

C++繼承:公有,私有,保護 公有繼承(public)、私有繼承(private)、保護繼承(protected)是常用的三種繼承方式。 公有繼承(public) 公有繼承的特點是基類的公有成員和保護成員作為派生類的成員時,它們都保持原有的

公有繼承私有繼承的例項

#include "iostream.h" #include "string.h" class person//基類person定義 { private:char name[20];int age; bool sex;//0代表女,1代表男 public: person()

CSS繼承層疊特殊性

important alt images png import 根據 gre 原來 border 1.繼承 (1)樣式應用於某個特定的HTML標簽元素,而且應用於其後代。 (2)但某些標簽不適用,如border; (3)例子:p{color:red;}設置了顏色 <p

複用-組合繼承代理區別用法

繼承主要有兩個作用: 1.為匯出類提供方法,這個特性在程式碼複用有比較多的應用 2.表現匯出類與基類之間的關係。這個特性在多型裡非常有用,後面會講到。 我們先來講為匯出類提供方法這個特性——繼承是程式碼複用中重要的一種方式,很難把它與複用割裂開看,而且放在一起比較似乎更容易理解繼承在為匯出類

十二python學習之python高階二(property魔法方法魔法屬性繼承多重繼承閉包裝飾器)

一、property: 1.get/set方法: 1.1 隱藏實現細節:在使用物件時,儘量不要讓使用者直接操作物件中的屬性,這樣會帶來安全隱患。改進辦法,使用私有屬性。 1.2 提供精確的訪問控制:學習過 set/get方法,是專門來為類的私有屬性提供訪問介面。 1.

java中關於繼承多型封裝的個人理解

super:子類中呼叫父類的普通方法或成員變數   構造方法的第一句總是:super(...)來呼叫父類相應的構造方法。流程是:先向上追溯到Object,然後再依次向下執行類的初始化塊和構造方法,直到當前子類為止。(注:靜態初始化塊呼叫順序,與構造方法呼叫順序一樣) java的三

C++中虛擬函式工作原理繼承類的記憶體佔用大小計算

                      虛擬函式的實現要求物件攜帶額外的資訊,這些資訊用於在執行時確定該物件應該呼叫哪一個虛擬函式。典型情況下,這一資訊具有一種被稱為 vptr(virtual table pointer,虛擬函式表指標)的指標的形式。vptr 指向一個被稱為 vtbl(virtual t

7. CSS樣式基本知識與選擇器繼承層疊特殊性

css 樣式由選擇符和宣告組成,而宣告又由屬性和值組成   p{ color: blue }   p_選擇符   {}_宣告   color_屬性   blue_值 第7章 CSS樣式基本知識     內聯式、嵌入式和外部式三種   三種方法的優先順序:內聯式 >

[譯] JavaScript — 繼承委託模式物件連結

原文地址: JavaScript — Inheritance, delegation patterns and Object linking 作者: NC Patro 學習 JavaScript (原型繼承) 中的繼承,行為/物件委託模式和關聯到其它物件的物件 什麼是繼承 在大多

css三大特性繼承層疊優先順序(權重)

1 繼承 CSS的某些樣式是具有繼承性的,那麼什麼是繼承呢?繼承是一種規則,它允許樣式不僅應用於某個特定html標籤元素,而且應用於其後代。比如下面程式碼:如某種顏色應用於p標籤,這個顏色設定不僅應用p標籤,還應用於p標籤中的所有子元素文字,這裡子元素為sp

SecureCRT優化調整永久設置保護眼睛配色方案

SecureCRT優化調整、配色方案等登錄SecureCRTSecureCRT優化調整:通過SecureCRT頂部菜單中的:“選項”--->“會話選項”1、調整SecureCRT終端顯示和回滾緩沖區大小2、調整字體及光標顏色3、配置記錄SSH操作的日誌及輸出:D:\data\ssh\ssh_log\%S

SecureCRT優化調整永久設定保護眼睛配色方案

轉自:http://blog.51cto.com/sandshell/2109176 SecureCRT優化調整: 通過SecureCRT頂部選單中的:“選項”--->“全域性選項”--->“編輯預設設定”--->“會話選項” 一、中文版本7配置如下 1、調整SecureCRT終端顯

c++中stringconst char*char*之間的相互轉換

1. string轉const char* string s = “abc”; const char* c_s = s.c_str(); 2. const char* 轉string,直接賦值即可 const char* c_s = “abc”; string s(c_s

完成一程式演示字元陣列C風格字串std::stringMFC中的Cstring型別之間的相互轉換

《C++標準函式庫》中說的有三個函式可以將字串的內容轉換為字元陣列和C—string1.data(),返回沒有”\0“的字串陣列2,c_str(),返回有”\0“的字串陣列3,copy().............................................................

C++中陣列連結串列vector等容器之間的區別

1. 各個容器之間區別 ① vector   (連續的空間儲存,可以使用[]操作符)快速的訪問隨機的元素,快速的在末尾插入元素,但是在序列中間歲間的插入,刪除元素要慢,而且如果一開始分配的空