C Primer友元類使用

2021-06-23 03:45:24 字數 612 閱讀 6449

照著c++ primer一書上的智慧型指標實現了下。結果發現編譯一直通不過。

後來發現原來被宣告為友元類的類要放在宣告友元類的後面在vs2012上才能通過。

#ifndef smart_point_h_

#define smart_point_h_

class u_ptr

~u_ptr()

};class hasptr

hasptr(const hasptr& orig):ptr( orig.ptr ), val( orig.val )

hasptr& operator= (

const hasptr& orig

)~hasptr()

int* get_ptr() const

int get_int() const

void set_ptr( int* p )

void set_int(

inti

)int get_ptr_val() const

void set_ptr_val( int val ) const

private:

u_ptr* ptr;

intval;

};#endif

類 友元函式 友元類

友元函式不是當前類的成員函式,但它可以訪問該類所有的成員,包括私有成員 保護成員和公有成員。在類中宣告友元函式時,需在其函式名前加上關鍵字 friend。友元函式既可以是非成員函式,也可以是另乙個類的成員函式。class date date date int y,int m,int d void s...

友元(友元函式 友元類 類成員函式的友元)

friend 友元機制 允許乙個類將對其非公有成員的訪問許可權授予指定的函式或者類。我們可以將友元大致分為3類 友元函式 是指某些雖然不是類的成員函式,但是能夠訪問這個類的所有成員的函式。比如我們下列的 include class test friend void show test rhs 宣告 ...

C Primer 學習筆記 友元

友元機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類。友元的宣告以關鍵字friend開始,只能出現在類定義的內部,友元的宣告可以出現在類內部的任何地方。通常,將友元成組地放在類的開始或者結尾是個好主意。1.友元關係 乙個例子 class screen window mgr的成員可以直接引用...