友元的功能解析

目錄

一、友元的作用

二、實例說明

1. 友元方法

例:

2.友元類

例:

三、注意事項


一、友元的作用

1. 可以讓一個類外 函數 或 類對象 訪問一個 類內私有 成員或方法。

二、實例說明

1. 友元方法

例:

用friend 關鍵字在Tom 類中聲明 了一個 OtherCheckMe 友元方法?,之后在Tom類外對 OtherCheckMe 進行定義,便可以在 OtherCheckMe 中訪問 Tom 類中的成員了。

class Tom
{friend void OtherCheckMe(Tom& man);private:int Checkage(){return age;}int age = 10;};
void OtherCheckMe(Tom & man)
{cout << "age = " << man.age << endl;
}
int main()
{Tom man0;OtherCheckMe(man0);return 0;
}

2.友元類

例:

用friend關鍵字在Tom 類中聲明 一個 友元類,意思是,Him類中可以自由訪問Tom類中的成員

class Tom
{friend class Him;private:int Checkage(){return age;}int age = 10;};
class Him
{
public:Tom man;void Checkage(){cout << man.age << endl;}
};
int main()
{Him Jack;Jack.Checkage();                  return 0;
}

三、注意事項

1.一個函數可以是多個類的友元(適用于同一個函數需要操作多個類 )

2.能少盡量少用,他是,增加耦合度,破壞封裝 / 突破封裝的一種方式

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

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

相關文章

GNSS校準氣壓計

1、gnss信號較好的時候得到的GNSS高&#xff0c;得到海拔高。2、氣壓計數據轉到標準數據然后計算出來海拔高。3、gnss高作基準 - 氣壓高 高差 &#xff1b;需要修正的是氣壓偏差&#xff0c;那么如何得到氣壓偏差1&#xff09;用gnss高 反求出一個氣壓&#xff0c;這個氣壓與…

基于Springboot + vue3實現的校園二手交易平臺

項目描述本系統包含管理員、用戶兩個角色。管理員角色&#xff1a;用戶管理&#xff1a;管理系統中所有用戶的信息&#xff0c;包括添加、刪除和修改用戶。配置管理&#xff1a;管理系統配置參數&#xff0c;如上傳圖片的路徑等。權限管理&#xff1a;分配和管理不同角色的權限…

新型存儲介質應用:CXL內存擴展技術與AI工作負載適配

點擊 “AladdinEdu&#xff0c;同學們用得起的【H卡】算力平臺”&#xff0c;H卡級別算力&#xff0c;80G大顯存&#xff0c;按量計費&#xff0c;靈活彈性&#xff0c;頂級配置&#xff0c;學生更享專屬優惠。 引言&#xff1a;AI計算的內存瓶頸挑戰 當前AI技術發展正面臨著一…

Java 多線程(二)

目錄synchronized刷新內存synchronized的特性可重入的出現死鎖的情況如何避免死鎖&#xff08;重點&#xff0c;死鎖的成因和解決&#xff09;volatile關鍵字wait和notify多線程的代碼案例餓漢模式和懶漢模式的線程安全問題指令重排序問題阻塞隊列使用自己實現一個阻塞隊列實現…

MySql 內外連接

1.內連接內連接實際上就是利用where子句對兩種表形成的笛卡兒積進行篩選&#xff0c;我們前面學習的查詢都是內連 接&#xff0c;也是在開發過程中使用的最多的連接查詢。 語法&#xff1a;select 字段 from 表1 inner join 表2 on 連接條件 and 其他條件&#xff1b;備注&…

【大前端】 斷點續傳 + 分片上傳(大文件上傳優化) 的前端示例

寫一個 斷點續傳 分片上傳&#xff08;大文件上傳優化&#xff09; 的前端示例。這樣即使網絡中斷&#xff0c;文件也可以從已上傳的部分繼續傳&#xff0c;不需要重新傳整個大文件。&#x1f539; 分片上傳 斷點續傳思路分片切割&#xff1a;把大文件切成固定大小的小塊&…

機器學習的發展與應用:從理論到現實

目錄 引言 一、機器學習的發展歷程 1. 萌芽階段&#xff08;1950s–1970s&#xff09; 2. 符號主義與統計學習階段&#xff08;1980s–1990s&#xff09; 3. 數據驅動與算法突破&#xff08;2000s–2010s&#xff09; 4. 深度學習崛起&#xff08;2012年至今&#xff09; …

Python實現訊飛星火大模型Spark4.0Ultra的WebSocket交互詳解

核心架構設計與初始化機制 代碼采用面向對象的設計模式構建了Ws_Param類作為核心配置載體。該類在初始化時接收四個關鍵參數:APPID(應用標識)、APIKey(接口密鑰)、APISecret(簽名秘鑰)和Spark_url(服務端點地址)。通過urlparse模塊解析URL結構,分離出主機名(host)與…

如何通過Linux在高通躍龍QCS6490 平臺上優化部署AI/ML模型?

簡介 高通于今年推出了高通躍龍&#xff0c;在邊緣提供前沿的AI性能和超低延遲&#xff0c;為可擴展的工業創新帶來新的可能性。研華已在各種規格尺寸的嵌入式方案中采用躍龍技術&#xff0c;包括由高通躍龍 QCS6490處理器支持的嵌入式模塊、單板電腦和AI攝像頭解決方案。研華…

MySQL內核革新:智能攔截全表掃描,百度智能云守護數據庫性能與安全

在日常數據庫運維中&#xff0c;“掃表風暴”數次悄然而至——某條未走索引的 SQL 突然執行全表掃描&#xff0c;短短幾分鐘內吃光 IO、拖高 CPU&#xff0c;最終引發集群抖動甚至服務不可用。這樣的事故&#xff0c;你是否也曾經歷過&#xff1f; 全表掃描&#xff08;Full Ta…

TCP 三次握手、四次揮手

三次握手 三次握手形象版&#xff0c;快速理解 deepseek 的象形比喻&#xff1a;三次握手建立連接就像打電話一樣&#xff1a; (1) A 打給 B&#xff0c;“喂&#xff0c; 你能聽到我說話嗎&#xff1f;” (2) B 回答 A&#xff0c;“嗯&#xff0c;可以聽到&#xff0c;你能聽…

數據管理戰略|1概念及組成部分

【小語】前面兩個文章講到了“數據管理戰略數字化轉型、數據驅動”三者之間關系,數字化改革中的原則與邏輯,本節用三次文章學習數據管理戰略內容的組成部分(DAMA數據管理第1章1.2.6節)。 數據戰略 VS 數字化轉型 VS 數據驅動 數據管理戰略|熵減與熵增相容原則 下文為【…

3.遠程控制網絡編程的設計上

RemoteCtrl.cpp// RemoteCtrl.cpp : 此文件包含 "main" 函數。程序執行將在此處開始并結束。 //#include "pch.h" #include "framework.h" #include "RemoteCtrl.h"#ifdef _DEBUG #define new DEBUG_NEW #endif// 唯一的應用程序對象C…

畢業設計|基于Python的課程智能問答系統

4系統設計4.1功能模塊設計對本系統進行全面的系統功能的分析&#xff0c;可以得出基于Python《Python程序設計》課程智能問答系統的功能模塊圖&#xff0c;如圖4-1所示。圖4-1 系統功能模塊圖4.2數據庫設計4.2.1數據庫設計原則學習程序設計時&#xff0c;若想要深入理解數據庫管…

iOS原生開發和Flutter開發的看法

這是一個技術選型的問題。作為一名同時精通iOS原生和Flutter的開發者&#xff0c;我的看法是&#xff1a;這不是一個“二選一”的問題&#xff0c;而是一個“如何根據場景做最佳選擇”的問題。 它們不是替代關系&#xff0c;而是互補關系。以下是我對兩者的對比和看法&#xff…

docker桌面版 鏡像配置

配置內容 Docker Engine配置*&#xff08;截止2025年09月10日能用&#xff09; {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"registry-mirrors": [&q…

Java 面向對象基礎初步

Java 面向對象基礎初步 面向對象的核心概念概覽 面向對象的核心目標是 把數據和操作封裝在一起&#xff08;對象&#xff09;&#xff0c;并通過抽象、繼承與多態組織程序。簡而言之&#xff0c;我們總是沒法回避程序設計的四個話題&#xff1a; 封裝&#xff08;Encapsulation…

反向代理技術

一、核心比喻&#xff1a;公司的總機前臺 想象一下一家大公司&#xff1a; 客戶&#xff1a;想聯系公司里的某位員工&#xff08;比如技術部的張三&#xff09;。公司的總機號碼&#xff08;唯一公開的號碼&#xff09;&#xff1a;比如 400-123-4567。前臺&#xff1a;接聽總機…

數據整理器(Data Collators)(90)

數據整理器(Data Collators) 數據整理器(Data Collators) 導致問題的“罪魁禍首”,往往是長度不一的序列。 指令格式 關鍵術語說明 數據整理器(Data Collators) 數據整理器負責將多個數據樣本拼接成一個迷你批次(mini-batch)。它通常處于“隱形”狀態——每次使用PyT…

PySpark EDA 完整案例介紹,附代碼(三)

本篇文章Why Most Data Scientists Are Wrong About PySpark EDA — And How to Do It Right適合希望高效處理大數據的從業者。文章的亮點在于強調了使用PySpark進行探索性數據分析&#xff08;EDA&#xff09;的重要性&#xff0c;避免了將Spark數據框轉換為Pandas的低效做法。…