C 中設定友類以及友類的特性

2021-10-10 14:37:07 字數 1000 閱讀 7608

(1)設定teacher為student的友類,通過teacher修改student中的一些屬性值

(2)友元是單向設定的,teacher是student的友類,但是student不是teacher的友類,如有需要則應該在student中設定才行。

(3)友元不具有傳遞性,例如類a是類b的友元,類b時類c的友元,類c與類a之間如果沒有說明那麼就不是友元

#include

#include

class

student

;class

teacher

;class

student

;teacher::

teacher

(int new_id, string new_name):id

(new_id)

,name

(new_name)

void teacher::

setscore

(student&s,

int new_score)

student::

student

(int new_id, string new_name,

int new_score):id

(new_id)

,name

(new_name)

,score

(new_score)

int student::

getscore()

intmain()

; teacher t(1

,"wang");

s[0].

getscore()

; s[1]

.getscore()

; t.

setscore

(s[0],

100)

; s[0]

.getscore()

;system

("pause");

}

C 中的 友元函式 友元類

1.友元函式的簡單介紹 1.1為什麼要使用友元函式 在實現類之間資料共享時,減少系統開銷,提高效率。如果類a中的函式要訪問類b中的成員 例如 智慧型指標類的實現 那麼類a中該函式要是類b的友元函式。具體來說 為了 使其他類的成員函式直接訪問該類的私有變數。即 允許外面的類或函式去訪問類的私有變數和保...

c 類和物件特性 友元

今天介紹下友元,首先介紹為什麼需要友元,友元解決什麼樣的問題。我們知道物件導向特性中封裝是將內部細節進行封裝,包括內部的私有變數,如果外部想訪問私有變數,就需要提供公有的函式進行操作。解決的問題 在外部函式或者是類中,想訪問某個類a的內部私有成員變數或者函式,但是類a又不想提供額外的public的方...

C 類 友元函式和友元類

1.友元函式 2.友元類 我們知道類的私有屬性只能在類的內部訪問,能不能通過一種途徑可以在類的外部訪問?答案是有的,友元函式。a.友元函式的作用 可以在類的外部訪問類的私有屬性,但是會破壞類的封裝。b.友元函式的格式 friend 函式返回型別 函式名 引數列表 c.友元函式宣告的位置和類訪問修飾符...