C++訪問限定符private、public、protected的使用場景

C++ 訪問控制關鍵字:public、private、protected

在C++中,publicprivateprotected是訪問控制關鍵字,用于實現面向對象編程的封裝特性,控制類成員的訪問權限。

訪問控制關鍵字的使用場景

1. public(公有成員)

  • 在任何地方都可以訪問
  • 通常用于類的接口方法
  • 構造函數和析構函數通常是public的
class Circle {
public:// 公有構造函數Circle(double r) : radius(r) {}// 公有接口方法double getArea() {return 3.14159 * radius * radius;}// 公有成員變量(一般不推薦)double x, y;
};

2. private(私有成員)

  • 只能在類內部訪問
  • 通常用于隱藏實現細節
  • 類的成員變量通常設為private
class BankAccount {
private:double balance;  // 私有變量,外部無法直接訪問public:BankAccount(double initial) : balance(initial) {}// 通過公有方法訪問私有變量void deposit(double amount) {if (amount > 0) balance += amount;}double getBalance() {return balance;}
};

3. protected(保護成員)

  • 在類內部和派生類中可以訪問
  • 主要用于繼承場景
    子類不能訪問父類的私有成員,如果子類需要訪問父類的私有成員,就必須將父類該私有成員聲明為protected。
class Shape {
protected:// 派生類可以訪問這些成員int width, height;public:void setDimensions(int w, int h) {width = w;height = h;}
};class Rectangle : public Shape {
public:int getArea() {return width * height;  // 可以訪問基類的protected成員}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/923696.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/923696.shtml
英文地址,請注明出處:http://en.pswp.cn/news/923696.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CKA08--PVC

Task mariadb namespace 中的 MariaDB Deployment 被誤刪除。請恢復該 Deployment 并確保數據持久性。 請按照以下步驟: 如下規格在 mariadb namespace 中創建名為 mariadb 的 PersistentVolumeClaim (PVC): 訪問模式為 ReadWriteOnce 存儲為 250Mi 集群…

Freertos系列(調度機制與創建任務)

如果不想看的可以直接使用git把我的代碼下載出來,里面工程挺全的,后期會慢慢的補注釋之類的 碼云地址:stm32學習筆記: stm32學習筆記源碼 如果不會使用git快速下載可以選擇直接下載壓縮包或者去看看git的使用 Git入門教程-CSDN博客 一 調…

C++中std::vector Vs std::deque VS std::list對比詳解

1) 核心差異速覽 std::vector:連續內存、隨機訪問 O(1)、尾部 push_back 攤還 O(1)、中間插入/刪除 O(n),非常緩存友好。std::deque:分段(block)存儲,不是整體連續;隨機訪問 O(1)(但…

【js】js實現日期轉大寫:

文章目錄一、方法:二、使用效果:一、方法: export function dateToChnese(strDate) {let dateMap {year: "",month: "",day: ""}if (!strDate || strDate.length 0) return dateMap;const chineseDigit [&…

逆向 js

參考地址:https://blog.csdn.net/2302_80243887/article/details/146349209 注意事項 1. crypto-js 安裝 需要你的.js文件同級目錄執行npm install crypto-js 才能讓js文件引入包 注意事項2: crypto-js 執行js 報錯_external_runtime.py" A…

FFmpeg的安裝及簡單使用

簡介 FFmpeg 是一個跨平臺的音視頻處理工具庫/命令行工具,其核心作用是:對音視頻文件或流進行解碼、轉換(編碼)、封裝/解封裝等處理。 友情提示 本次安裝以Windows64位操作系統為例 一、下載及安裝 1、前往FFmpeg官網&#xff0…

Science Advances--3D打印生物啟發扭曲雙曲超材料,用于無人機沖擊緩沖和自供電實時傳感

湍流引起的振動會對飛機的結構完整性及飛行穩定性造成巨大威脅,尤其是在無人駕駛飛行器(UAV)中,實時的沖擊監測和輕質防護尤為重要。該研究基于生物啟發,通過3D 打印尼龍PA12 制備了一種扭轉-雙曲面超材料(…

AI大模型的研發流程

開發一個大模型是一個龐大、復雜且資源密集的系統工程,涉及算法研究、工程實現、數據管理和算力基礎設施等多個層面。下面我將為您提供一個從零開始開發大模型的全景式路線圖,涵蓋了從概念到部署的全過程。請注意,完全從零開始訓練一個類似GP…

Docker desktop安裝Redis Cluster集群

本文章將介紹如何在 Windows 系統的 Docker Desktop 環境中搭建 Redis 集群。將創建一個包含 6 個節點(3 主 3 從)的 Redis 集群。 環境準備 Windows 10/11 操作系統Docker Desktop 已安裝并運行 步驟 清理環境(如之前有嘗試) 如果…

Zynq開發實踐(SDK之第一個純PS工程)

【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing 163.com】學編程的時候,大家一般都比較重視第一個項目的創建和執行。第一個fpga程序一般是led閃爍,第一個c程序一般就是hello world程…

EJS(Embedded JavaScript)(一個基于JavaScript的模板引擎,用于在HTML中嵌入動態內容)

文章目錄**1. 什么是 EJS?****2. 核心特點**- **接近原生 HTML**- **動態渲染**- **輕量高效**- **與 Express 深度集成****3. EJS 的基本語法****4. 示例代碼****HTML 模板(views/user.ejs)****Express 中渲染模板****5. 使用場景**1. **服務…

Linux:基于阻塞隊列的生產者消費模型

文章目錄一、生產者消費者模型的基本原則💕💕生產者-消費者模型的 321 原則💕💕二、為何要使用生產者消費者模型1. 解耦2. 支持并發 (提高效率)3. 忙閑不均的支持三、基于 BlockingQueue 的生產者消費者模型…

ensp啟動路由器報錯40

1. 先關閉 eNSP 模擬器、關閉 Virtualbox2. 在everything里面搜索 .VirtualBox文件夾,然后刪掉3. 再打開 eNSP,不添加任何模擬設備,單擊“菜單-工具-注冊設備”,將 AR_Base 重新注冊。4. 關閉 eNSP 模擬器

代碼隨想錄二刷之“圖論”~GO

A.深搜與廣搜(重點掌握!!!!) 深搜類似于回溯法 搜索方向,是認準一個方向搜,直到碰壁之后再換方向換方向是撤銷原路徑,改為節點鏈接的下一個路徑,回溯的過程…

基于Echarts+HTML5可視化數據大屏展示-白茶大數據溯源平臺V2

效果展示&#xff1a;代碼結構&#xff1a;主要代碼實現 index.html布局 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta n…

Linux 系統網絡配置及 IP 地址相關知識匯總

Linux 系統網絡配置及 IP 地址相關知識匯總 一、IP地址基礎 IP地址&#xff1a;在計算機網絡中用來唯一標識一臺設備的一組數字。 二、IPv4相關知識 1. IPv4的表示方法 采用點分十進制表示&#xff0c;即由4個0-255的十進制數通過點分隔組成&#xff08;如192.168.1.1&#xff…

百度股價突破120美元創年內新高,AI云成為增長新引擎

美東時間9月16日&#xff0c;百度&#xff08;NASDAQ: BIDU&#xff09;美股大漲近8%&#xff0c;收盤價突破120美元&#xff0c;站上124美元高位&#xff0c;創2023年10月以來新高。北京時間9月17日港股開盤&#xff0c;百度&#xff08;09888.HK&#xff09;港股再次暴漲&…

《彩虹六號:圍攻》“Siege X”發布會3月14日舉行!

使用jQuery的常用方法與返回值分析 jQuery是一個輕量級的JavaScript庫&#xff0c;旨在簡化HTML文檔遍歷和操作、事件處理以及動畫效果的創建。本文將介紹一些常用的jQuery方法及其返回值&#xff0c;幫助開發者更好地理解和運用這一強大的庫。 1. 選擇器方法 jQuery提供了多種…

[從青銅到王者] Spring Boot+Redis+Kafka電商場景面試全解析

互聯網大廠Java開發崗技術面試實錄&#xff1a;嚴肅面試官VS搞笑程序員謝飛機 文章內容 第一輪&#xff1a;基礎框架與并發控制&#xff08;電商系統基礎能力&#xff09; 面試官&#xff08;嚴肅&#xff09;&#xff1a;歡迎進入面試環節&#xff0c;首先請用3句話總結Spring…

【DMA】DMA架構解析

目錄 1 DMA架構 1. 芯片架構圖一覽 2. AHB總線矩陣掛載 3. AHB1/APB1的橋和AHB1/APB2的橋 4. DMA1 和 DMA2 的區別 2 AHB總線矩陣 1 DMA架構 1. 芯片架構圖一覽 2. AHB總線矩陣掛載 stm32F411 芯片的 AHB 總線矩陣上共掛載了 6 主 5 從 六主&#xff1a; Icode-bus、D…