C 學習之友元函式(一)

2021-08-10 19:22:32 字數 720 閱讀 3434

本文是學習慕課網c++遠征之模板類.

友元函式分為友元全域性函式和友元成員函式:

友元全域性函式:將函式定義在全域性,並在類中宣告為友元

友元成員函式:將函式定義在類當中,並把函式宣告為另外乙個類的友元函式

兩個都可以直接訪問類的私有成員

(1)友元全域性函式

先來看一段**

#include 

using

namespace

std;

class coordinate //定義乙個類:座標

; void printxy(coordinate &c)//友元函式定義不需要加類名

coordinate::coordinate(int x,int y)

int main(void)

(2)友元成員函式

#include 

using

namespace

std;

class coordinate;

class circle

;//定義乙個類:座標

class coordinate

; int main(void)

void circle::printxy(coordinate &c)

好了,這裡是簡單了解了定義,下次我會更詳細地學習友元函式的編碼實現。

C 之友元函式

類的友元.cpp 定義控制台應用程式的入口點。include stdafx.h include include using namespace std class point 預設賦值建構函式,在建立物件時自動呼叫 int getx 隱藏有this指標,指向當前使用的物件,其實是return thi...

C 之友元函式

1 為什麼要引入友元函式 在實現類之間資料共享時,減少系統開銷,提高效率 具體來說 為了使其他類的成員函式直接訪問該類的私有變數 即 允許外面的類或函式去訪問類的私有變數和保護變數,從而使兩個類共享同一函式 優點 能夠提高效率,表達簡單 清晰 缺點 友元函式破環了封裝機制,盡量不使用成員函式,除非不...

c 學習之 友元

1.為什麼要用友元及其缺點 2.友元函式 3.友元類一 為什麼要用友元和其缺點?採用類的機制後實現了資料的隱藏與封裝,類的資料成員一般定義為私有成員,成員函式一般定義為公有的,依此提供類與外界間的通訊介面。有時候,其他類或者函式要訪問該類的非公有成員,可以令其他類或者函式成為它的友元 friend ...